我一直在尝试在 MySQL 数据库 (v5.5.30) 中创建一个事件。我遵循 MySQL 文档中的语法,该事件似乎创建得很好,没有错误。但是,该事件似乎并未实际执行。这是语法...
CREATE EVENT `Restock_Traders_Test`
ON SCHEDULE EVERY 1 MINUTE
ENDS '2013-07-31 00:00:00'
ON COMPLETION PRESERVE
DO update traders_data set qty = 25 where qty = 0;
尽管该事件设置为每分钟触发一次,但我这样做只是为了测试。我不断检查表格以查看数量是否更新,但似乎没有更新。有人发现我的语法有什么问题吗?有什么我错过的吗?
下面是运行SHOW EVENTS
命令的结果
dayz_epoch Restock_Traders_Test myusername@% SYSTEM RECURRING NULL 1 MINUTE 2013-07-30 14:20:10 2013-07-31 00:00:00 ENABLED 0 latin1 latin1_swedish_ci utf8_general_ci
最佳答案
您需要enable the event scheduler ,默认情况下关闭
:
SET GLOBAL event_scheduler = ON;
您可以通过执行 SHOW PROCESSLIST\G
并查看是否有与用户 event_scheduler
的线程来查看它是否正在运行。
虽然默认值为OFF
,但配置可以将其设置为DISABLED
,这意味着您无法将其设置为ON
> 在运行时。如果是这种情况,您需要更改配置文件中的设置。
关于mysql - 事件在 MySQL v5.5.30 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17955754/