この記事では、例を使用して、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データベース設計に役立つことを願っています。 以下もご興味があるかもしれません:
|
1. ファイアウォールの基本的な使い方起動する: systemctl は、firewalld を起動...
目次データブローカーとイベントObject.defineProperty メソッドのレビューデータブ...
この記事では、WeChatアプレットでビデオプレーヤーの集中砲火を実装するための具体的なコードを参考...
独自のデモを作成するときに、display:flex を使用して垂直方向の中央揃えを実現したいと思い...
html <!DOCTYPE html> <html lang="ja&...
HOCを紹介する一文高階コンポーネント (HOC) とは何ですか? 公式ドキュメントによると、「高階...
ウェブサイトをデザインするにはインスピレーションが必要です。良いインスピレーションを得るには、より多...
HTML徹底解析(14)特殊文字 ■ よく使われる特殊文字 HTMLタグを知っていれば、特殊文字の使...
序文:前回の記事では、さまざまな MySQL ステートメント構文の使用法とユーザー権限に関する知識を...
NULL が頻繁に使用されるのはなぜですか? (1)Javaのnull Java の NullPoi...
概要zabbix バージョン 5.0 以降では、zabbix-agent2 という新しい機能が追加さ...
目次1. 短絡判定2. オプション連鎖演算子 (?) 3. ヌル合体演算子 (??) 4. 終了関数...
この記事では、例を使用して、MySQL の非主キーの自己増分の使用方法を説明します。ご参考までに、詳...
CSS インポート方法 - インラインスタイルタグ属性を通じて、CSSのキーと値のペアがタグに直接書...
このシステムでは、# 記号は root ユーザーを表し、$ 記号は通常のユーザーを表します。では、ど...