>데이터 베이스 >MySQL 튜토리얼 >이벤트를 생성할 때 ON COMPLETION PRESERVE 절을 사용하는 것은 무엇입니까?

이벤트를 생성할 때 ON COMPLETION PRESERVE 절을 사용하는 것은 무엇입니까?

WBOY
WBOY앞으로
2023-09-12 09:09:071524검색

创建事件时 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 쿼리의 출력에서 ​​이벤트를 볼 수 있습니다.

rreee

위 내용은 이벤트를 생성할 때 ON COMPLETION PRESERVE 절을 사용하는 것은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 tutorialspoint.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제