MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

イベントの作成中にONCOMPLETIONPRESERVE句を使用するとどうなりますか?


イベントの有効期限が切れるとイベントは自動的に削除され、SHOWEVENTSステートメントからは表示されないことがわかっています。このような動作を変更するには、イベントの作成中にONCOMPLETIONPRESERVEを使用できます。次の例から理解できます-

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の出力に表示されます。 クエリ。

mysql> CREATE EVENT testing_event_with_Preserves ON SCHEDULE AT CURRENT_TIMESTAMP ON COMPLETION PRESERVE DO INSERT INTO event_messages(message,generated_at) Values('With 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 |
| 2  | With Preserve    | 2017-11-22 20:35:12 |
+----+------------------+---------------------+
2 rows 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
*************************** 2. row ***************************
                  Db: query
                Name: testing_event_with_Preserves
             Definer: root@localhost
           Time zone: SYSTEM
                Type: ONE TIME
          Execute at: 2017-11-22 20:35:12
      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
2 rows in set (0.00 sec)

  1. MySQLテーブルを作成するときは、予約済みのキーワード「Key」を使用してください

    予約キーワード「キー」を使用するには、バックティック記号の概念を使用します。ここでは、この例では、列名の前後にバックチェック記号が必要な列名キーを使用しています。 まずテーブルを作成しましょう- mysql> create table DemoTable (    `Key` int ); Query OK, 0 rows affected (0.67 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable values(100); Query OK, 1 row affecte

  2. Java 9のmodule-infoファイルでrequires句を使用する方法は何ですか?

    モジュール Java 9で導入された重要な概念です 。この概念を使用することで、コードをモジュールと呼ばれる小さなコンポーネントに分割できます。 。したがって、各モジュールには独自の責任があり、正しく機能するために他のモジュールへの依存を宣言します。モジュールを宣言するには、「 module-info.java」を含める必要があります ファイルからルートへのソースコード。 「必須」にはいくつかの種類があります module-infoの句 ファイル 1) にはが必要です : デフォルトでは、モジュールは module-pathに存在する他のモジュールを認識しません 。したがって、modu