修改MySQL事件


MySQL允许您更改现有事件的各种属性。 要更改现有事件,请使用ALTER EVENT语句,如下所示:

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

请注意,ALTER EVENT语句仅应用于现有事件。如果尝试修改不存在的事件,MySQL将发出一个错误消息,因此,应该先使用SHOW EVENTS语句来检查事件是否存在,然后再更改它。

SHOW EVENTS FROM studymysql;


修改事件(ALTER EVENT)示例

让我们创建一个示例事件来演示使用ALTAR EVENT语句的各种功能。
以下语句创建一个事件,并每分钟向messages表中插入一条新记录。

CREATE EVENT test_event_04 ON SCHEDULE EVERY 1 MINUTE DO INSERT INTO messages(message,created_at) VALUES('测试ALTER EVENT语句',NOW());

更改计划

要使事件每2分钟运行一次,请使用以下语句:

ALTER EVENT test_event_04 ON SCHEDULE EVERY 2 MINUTE;

更改事件主体

您还可以通过指定新逻辑来更改事件的主体,如下所示:

ALTER EVENT test_event_04 DO INSERT INTO messages(message,created_at) VALUES('Message from event',NOW());

您可以先等待2分钟,然后再次查看messages表:

SELECT * FROM messages;

禁用事件

要禁用事件,请使用以下语句:

ALTER EVENT test_event_04 DISABLE;

您可以使用SHOW EVENTS语句来检查事件的状态,如下所示:

SHOW EVENTS FROM studymysql;

启用事件

要启用已禁用的事件,请在ALTER EVENT语句之后使用ENABLE关键字,如下所示:

ALTER EVENT test_event_04 ENABLE;

重命名事件

MySQL中不为提供RENAME EVENT语句。不过可以使用ALTER EVENT来重命名现有事件,如下所示:

ALTER EVENT test_event_04 RENAME TO test_event_05;

将事件移动到其他数据库

可以使用RENAME TO子句将事件从数据库移动到另一个数据库,如下所示:

ALTER EVENT studmysql.test_event_05 RENAME TO newdb.test_event_05

假设 newdb 数据库数据库在MySQL数据库服务器中可用。

在本教程中,我们向您展示了如何使用ALTER EVENT语句来修改MySQL事件的各种属性。


转载自:http://www.studymysql.com/mysql/triggers-modifying-mysql-events.html


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM