この記事では、例を使用して、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データベース設計に役立つことを願っています。 以下もご興味があるかもしれません:
|
序文Samba は、サーバー プログラムとクライアント プログラムで構成され、Linux システム上...
a タグ疑似クラスの役割: 「:link」: 訪問されていないタグの状態。 「:visited」: ...
Tensorflow バージョンと Cuda および CUDNN の対応: https://tens...
序文MySQL バージョン 3.23.44 以降では、InnoDB エンジン タイプのテーブルは外部...
1. 機能主にコンポーネントの状態を保持したり、再レンダリングを回避したりするために使用されます。 ...
Docker を使用して Angular プロジェクトをデプロイする方法は 2 つあります。1 つは...
コマンドライン mysqld –skip-grant-tables は mysql8 では正常に起動...
以前、「MySQL でコミットされていないトランザクション情報を検索する方法」というタイトルのブログ...
1. ファイルの権限と所有権の概要1. アクセス権Read r: ファイルの内容を表示し、ディレクト...
MySQL は、ネットワーク経由だけでなく、名前付きパイプ経由でも接続できます。MySQL への接続...
vueモバイル端末は、画面上で指をスライドさせる方向を判断します。具体的な内容は次のとおりです。これ...
【質問】 INSERT 文は最も一般的な SQL 文の 1 つです。最近、MySQL サーバーが同時...
ネットワークの高可用性を実現するには、複数のネットワーク カードを仮想ネットワーク カードにバインド...
UDP の理論については詳しく説明しません。UDP に関する HelloWorld プログラムを紹介...
目次1.0 はじめに2.0 Dockerのインストール3.0基本的なDockerコマンド4.0 Do...