我一直在尝试在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
答案 0 :(得分:1)
您需要enable the event scheduler,默认为OFF
:
SET GLOBAL event_scheduler = ON;
您可以通过执行SHOW PROCESSLIST\G
并查看您是否拥有用户event_scheduler
的主题来查看它是否正在运行。
虽然默认值为OFF
,但配置可以将其设置为DISABLED
,这意味着您无法在运行时将其设置为ON
。如果是这种情况,您需要更改配置文件中的设置。