Computer >> Máy Tính >  >> Lập trình >> MySQL

Làm cách nào chúng ta có thể sửa đổi một sự kiện MySQL hiện có?


Với sự trợ giúp của câu lệnh ALTER EVENT, chúng ta có thể sửa đổi một sự kiện MySQL hiện có. Chúng tôi có thể thay đổi các thuộc tính khác nhau của một sự kiện. ALTER EVENT có cú pháp sau -

   ALTER EVENT event_name
    ON SCHEDULE schedule
ON COMPLETION [NOT] PRESERVE
  RENAME TO new_event_name
    ENABLE | DISABLE
           DO
       event_body

Để hiểu nó, chúng tôi minh họa ví dụ dưới đây -

Ví dụ

Giả sử chúng ta có một sự kiện như sau -

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)

Truy vấn trên sẽ thay đổi lịch trình của sự kiện từ 1 phút thành 2 phút. Và truy vấn bên dưới sẽ thay đổi nội dung của sự kiện.

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)

Tập hợp kết quả trên cho thấy rằng chúng tôi nhận được thông báo đã thay đổi sau 2 phút.