ALTER EVENT स्टेटमेंट की मदद से, हम मौजूदा MySQL ईवेंट को संशोधित कर सकते हैं। हम किसी घटना की विभिन्न विशेषताओं को बदल सकते हैं। ALTER EVENT में निम्न सिंटैक्स होता है -
ALTER EVENT event_name ON SCHEDULE schedule ON COMPLETION [NOT] PRESERVE RENAME TO new_event_name ENABLE | DISABLE DO event_body
इसे समझने के लिए हम नीचे उदाहरण दे रहे हैं -
उदाहरण
मान लीजिए हमारे पास एक घटना इस प्रकार है -
mysql> Create event hello ON SCHEDULE EVERY 1 Minute DO INSERT INTO event_messages(message, generated_at) Values ('Alter event testing', 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 | | 3 | Alter event testing | 2017-11-22 21:08:37 | +----+---------------------+---------------------+ 3 rows in set (0.00 sec) mysql> ALTER EVENT hello ON SCHEDULE EVERY 2 MINUTE; Query OK, 0 rows affected (0.00 sec)
उपरोक्त क्वेरी इवेंट के शेड्यूल को 1 मिनट से 2 मिनट में बदल देगी। और नीचे दी गई क्वेरी घटना के मुख्य भाग को बदल देगी।
mysql> ALTER EVENT hello DO INSERT INTO event_messages(message,generated_at) VALUES('ALTERED',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 | | 3 | Alter event testing | 2017-11-22 21:08:37 | | 4 | Alter event testing | 2017-11-22 21:09:15 | | 5 | ALTERED | 2017-11-22 21:11:15 | +----+---------------------+---------------------+ 5 rows in set (0.00 sec)
उपरोक्त परिणाम सेट से पता चलता है कि हमें 2 मिनट के बाद बदला हुआ संदेश मिला।