この記事では、例を使用して、MySQL イベントの変更 (ALTER EVENT)、イベントの無効化 (DISABLE)、イベントの有効化 (ENABLE)、イベントの名前変更、およびデータベース イベントの移行の操作について説明します。ご参考までに、詳細は以下の通りです。 MySQL では既存のイベントのさまざまなプロパティを変更できることを知っておく必要があります。既存のイベントを変更する場合は、次のように ALTER EVENT ステートメントを使用できます。 ALTER EVENT イベント名 スケジュール通りのスケジュール 完了時に保存しない 新しいイベント名に名前を変更 有効 | 無効 する イベント本体 ALTER EVENT ステートメントは、既存のイベントに対してのみ機能します。存在しないイベントを変更しようとすると、MySQL はエラー メッセージを発行します。そのため、イベントを変更する前に、まず SHOW EVENTS ステートメントを使用してイベントの存在を確認する必要があります。 mysql> testdb からのイベントを表示します。 +--------+---------------+----------------+------------+----------+----------+----------------------+----------------+--------+-----------+----------------------+---------------------+ | Db | 名前 | 定義者 | タイム ゾーン | タイプ | 実行時刻 | 間隔値 | 間隔フィールド | 開始 | 終了 | ステータス | 発信元 | character_set_client | collation_connection | データベース照合 | +--------+---------------+----------------+------------+----------+----------+----------------------+----------------+--------+-----------+----------------------+---------------------+ | testdb | test_event_02 | root@localhost | SYSTEM | ONE TIME | 2017-08-03 04:24:48 | NULL | NULL | NULL | NULL | 無効 | 0 | utf8 | utf8_general_ci | utf8_general_ci | +--------+---------------+----------------+------------+----------+----------+----------------------+----------------+--------+----------+----------------------+----------------------+----------------------+ セット内の1行 ALTER EVENT ステートメントのさまざまな機能の使用方法を示すために、1 分ごとにメッセージ テーブルに新しいレコードを挿入するサンプル イベントを作成します。 testdbを使用します。 イベントの作成 test_event_04 スケジュールどおり1分ごとに する メッセージに INSERT INTO (メッセージ、created_at) VALUES('ALTER EVENT ステートメントをテストします',NOW()); イベントを 2 分ごとに実行するように変更してみましょう。 イベントの変更 test_event_04 スケジュールどおりに 2 分ごとに実行します。 新しいロジックを指定してイベント本体を変更することもできます。 イベントの変更 test_event_04 する メッセージに INSERT INTO (メッセージ、created_at) VALUES('イベントからのメッセージ',NOW()); -- テーブル内のデータをクリアし、メッセージを切り捨てます。 変更が完了したら、2 分待ってからメッセージ テーブルを再度表示します。 mysql> SELECT * FROM メッセージ; +----+--------------------+---------------------+ | ID | メッセージ | 作成日時 | +----+--------------------+---------------------+ | 1 | イベントからのメッセージ | 2017-08-03 04:46:47 | | 2 | イベントからのメッセージ | 2017-08-03 04:48:47 | +----+--------------------+---------------------+ 2行セット ALTER EVENT ステートメントの後に DISABLE キーワードを使用すると、イベントを無効にすることができます。 イベントの変更 test_event_04 無効にする; SHOW EVENTS ステートメントを使用してイベントのステータスを表示することもできます。 mysql> testdb からのイベントを表示します。 +--------+---------------+----------------+------------+-----------+----------------------+--------------------------------+------+----------+----------+----------------------+----------------------+ | Db | 名前 | 定義者 | タイム ゾーン | タイプ | 実行時刻 | 間隔値 | 間隔フィールド | 開始 | 終了 | ステータス | 発信元 | character_set_client | collation_connection | データベース照合 | +--------+---------------+----------------+------------+-----------+----------------------+--------------------------------+------+----------+----------+----------------------+----------------------+ | testdb | test_event_02 | root@localhost | SYSTEM | ONE TIME | 2017-08-03 04:24:48 | NULL | NULL | NULL | NULL | 無効 | 0 | utf8 | utf8_general_ci | utf8_general_ci | | testdb | test_event_04 | root@localhost | SYSTEM | 定期的 | NULL | 2 | 分 | 2017-08-03 04:44:47 | NULL | 無効 | 0 | utf8 | utf8_general_ci | utf8_general_ci | +--------+---------------+----------------+------------+-----------+----------------------+--------------------------------+------+----------+----------+----------------------+----------------------+ 2行セット ALTER EVENT ステートメントの後に ENABLE キーワードを使用してイベントを有効にすることができます。 イベントの変更 test_event_04 有効にする; イベントのステータスを確認します: mysql> testdb からのイベントを表示します。 +--------+---------------+----------------+------------+-----------+----------------------+--------------------------------+------+----------+----------+----------------------+----------------------+ | Db | 名前 | 定義者 | タイム ゾーン | タイプ | 実行時刻 | 間隔値 | 間隔フィールド | 開始 | 終了 | ステータス | 発信元 | character_set_client | collation_connection | データベース照合 | +--------+---------------+----------------+------------+-----------+----------------------+--------------------------------+------+----------+----------+----------------------+----------------------+ | testdb | test_event_02 | root@localhost | SYSTEM | ONE TIME | 2017-08-03 04:24:48 | NULL | NULL | NULL | NULL | 無効 | 0 | utf8 | utf8_general_ci | utf8_general_ci | | testdb | test_event_04 | root@localhost | SYSTEM | 定期的 | NULL | 2 | 分 | 2017-08-03 04:44:47 | NULL | 有効 | 0 | utf8 | utf8_general_ci | utf8_general_ci | +--------+---------------+----------------+------------+-----------+----------------------+--------------------------------+------+----------+----------+----------------------+----------------------+ 2行セット ALTER EVENT を使用して既存のイベントの名前を変更してみましょう。 イベントの変更 test_event_04 名前を test_event_05 に変更します。 イベントのステータスを表示するには: mysql> testdb からのイベントを表示します。 +--------+---------------+----------------+------------+-----------+----------------------+--------------------------------+------+----------+----------+----------------------+----------------------+ | Db | 名前 | 定義者 | タイム ゾーン | タイプ | 実行時刻 | 間隔値 | 間隔フィールド | 開始 | 終了 | ステータス | 発信元 | character_set_client | collation_connection | データベース照合 | +--------+---------------+----------------+------------+-----------+----------------------+--------------------------------+------+----------+----------+----------------------+----------------------+ | testdb | test_event_02 | root@localhost | SYSTEM | ONE TIME | 2017-08-03 04:24:48 | NULL | NULL | NULL | NULL | 無効 | 0 | utf8 | utf8_general_ci | utf8_general_ci | | testdb | test_event_05 | root@localhost | SYSTEM | 定期的 | NULL | 2 | 分 | 2017-08-03 04:44:47 | NULL | 有効 | 0 | utf8 | utf8_general_ci | utf8_general_ci | +--------+---------------+----------------+------------+-----------+----------------------+--------------------------------+------+----------+----------+----------------------+----------------------+ 2行セット 次に、RENAME TO 句を使用して、イベントをあるデータベースから別のデータベースに移動できます。 イベント testdb.test_event_05 の変更 名前を newdb.test_event_05 に変更します。 イベントのステータスを確認しましょう: mysql> newdb からのイベントを表示します。 +-------+---------------+----------------+------------+------------+------------+----------------+-------+-----------+-----------+----------------------+---------------------+ | Db | 名前 | 定義者 | タイム ゾーン | タイプ | 実行時刻 | 間隔値 | 間隔フィールド | 開始 | 終了 | ステータス | 発信元 | character_set_client | collation_connection | データベース照合 | +-------+---------------+----------------+------------+------------+------------+----------------+-------+-----------+-----------+----------------------+---------------------+ | newdb | test_event_05 | root@localhost | SYSTEM | 定期的 | NULL | 2 | 分 | 2017-08-03 04:44:47 | NULL | 有効 | 0 | utf8 | utf8_general_ci | utf8_general_ci | +-------+---------------+----------------+------------+------------+------------+----------------+-------+-----------+-----------+----------------------+---------------------+ セット内の1行 さて、この記録についてはこれですべてです。 MySQL 関連のコンテンツに興味のある読者は、このサイトの次のトピックをチェックしてください: 「MySQL インデックス操作スキルの概要」、「MySQL 共通関数の概要」、「MySQL ログ操作スキルの概要」、「MySQL トランザクション操作スキルの概要」、「MySQL ストアド プロシージャ スキルの概要」、および「MySQL データベース ロック関連スキルの概要」。 この記事が皆様のMySQLデータベース設計に役立つことを願っています。 以下もご興味があるかもしれません:
|
オンライン ビジネスにとってデータの一貫性と整合性が重要であることは明らかです。データが失われないよ...
この記事では、Vueの具体的なコード例を参考までに紹介します。具体的な内容は以下のとおりです。初心者...
目次プレゼンテーション層ビジネスレイヤーコアプラグイン xlsx ExcelインポートExcelエク...
インストール手順1. 仮想マシンを作成する 2. [カスタム(詳細)]を選択し、[次へ]をクリックし...
目次1. 重複行を見つける方法2. 重複行を削除する方法3. 複数の列で重複を見つける方法4. クエ...
1. 新しいユーザーwwweee000を作成します [root@localhost ~]# user...
1. COUNT(*) と COUNT(COL) COUNT(*)は通常、主キーに対してインデックス...
仮想メモリとは何ですか?まずはWikipediaからの紹介文をそのまま引用します。仮想メモリは、コン...
序文MySQL は最も人気のあるリレーショナル データベース管理システムです。WEB アプリケーショ...
目次1. Docker Compose とは何ですか? 2. Docker Composeのインスト...
React は、ユーザー インターフェイスを構築するための JavaScript ライブラリです。 ...
プロジェクト要件: 製品ツリー ノードをクリックすると、そのノードのすべての親ノードが取得され、表に...
多くの人が MySQL の起動時にこのエラーに遭遇しています。まず、このエラーの前提は、サービス ス...
この記事では、MySQL 8.0.16 winx64.zipのインストールと設定方法の具体的なコード...
この記事では、MySQL 8.0.16 winx64のインストールと設定の具体的な方法を記載します。...