Event tự động bị xóa khi hết hạn và không hiện trong SHOW EVENTS. Để giữ lại event sau khi chạy xong, dùng ON COMPLETION PRESERVE khi tạo.
Ví dụ
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)
Tạo event không có ON COMPLETION PRESERVE → không thấy trong SHOW EVENTS:
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> SHOW EVENTS FROM query\G
... (chỉ hiển thị event cũ, không có testing_event_without_Preserves)
Tạo event có ON COMPLETION PRESERVE → vẫn thấy trong SHOW EVENTS:
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> SHOW EVENTS FROM query\G
... (hiển thị cả testing_event_with_Preserves)