ホームページ >データベース >mysql チュートリアル >イベント作成時の ON COMPLETION PRESERVE 句の用途は何ですか?

イベント作成時の ON COMPLETION PRESERVE 句の用途は何ですか?

WBOY
WBOY転載
2023-09-12 09:09:071539ブラウズ

创建事件时 ON COMPLETION PRESERVE 子句有什么用?

イベントは有効期限が切れると自動的に削除されることがわかっており、SHOW EVENTS ステートメントからは確認できません。この動作を変更するには、イベントの作成時に ON COMPLETION PRESERVE を使用します。それは、次の例で理解できます。 -

Example

mysql> Create table event_messages(ID INT NOT NULL PRIMARY KEY AUTO_INCREMENT, MESSAGE VARCHAR(255) NOT NULL, Generated_at DATETIME NOT NULL);
Query OK, 0 rows affected (0.61 sec)

次のクエリは、ON COMPLETION PRESERVE を使用せずにイベントを作成します。そのため、SHOW EVENTS FROM db_name クエリでは、次のようになります。イベントは出力には表示されません。

mysql> CREATE EVENT testing_event_without_Preserves ON SCHEDULE AT CURRENT_TIMESTAMP DO INSERT INTO event_messages(message,generated_at) Values('Without Preserve',NOW());
Query OK, 0 rows affected (0.00 sec)

mysql> Select * from event_messages;
+----+------------------+---------------------+
| ID | MESSAGE          | Generated_at        |
+----+------------------+---------------------+
| 1  | Without Preserve | 2017-11-22 20:32:13 |
+----+------------------+---------------------+
1 row in set (0.00 sec)

mysql> SHOW EVENTS FROM query\G
*************************** 1. row ***************************
                  Db: query
                Name: testing_event5
             Definer: root@localhost
           Time zone: SYSTEM
                Type: ONE TIME
          Execute at: 2017-11-22 17:09:11
      Interval value: NULL
      Interval field: NULL
              Starts: NULL
                Ends: NULL
              Status: DISABLED
          Originator: 0
character_set_client: cp850
collation_connection: cp850_general_ci
  Database Collation: latin1_swedish_ci
1 row in set (0.00 sec)

次のクエリは ON COMPLETION PRESERVE を使用してイベントを作成するため、SHOW EVENTS FROM db_name クエリの出力でイベントを確認できます。

えええええ

以上がイベント作成時の ON COMPLETION PRESERVE 句の用途は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。