ปกติ event จะถูกลบอัตโนมัติเมื่อหมดอายุ (expired) และไม่แสดงใน SHOW EVENTS ใช้ ON COMPLETION PRESERVE เพื่อเก็บ event ไว้หลังรันเสร็จ ตัวอย่าง:
ตัวอย่าง
สร้าง event **ไม่มี** PRESERVE — หายจาก 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
... (ไม่แสดง testing_event_without_Preserves) ...
สร้าง event **มี** PRESERVE — ยังแสดงใน 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
... (แสดง testing_event_with_Preserves อยู่ในรายการ Status: DISABLED) ...
Event ที่ PRESERVE จะคงอยู่ใน metadata เพื่อตรวจสอบประวัติได้