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