0

我一直在尝试在 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
4

1 回答 1

1

您需要启用事件调度程序OFF默认情况下:

SET GLOBAL event_scheduler = ON;

您可以通过执行SHOW PROCESSLIST\G并查看您是否与 user 有线程来查看它是否正在运行event_scheduler

尽管默认值为OFF,但配置可以将其设置为DISABLED,这意味着您无法ON在运行时将其设置为。如果是这种情况,您需要更改配置文件中的设置。

于 2013-07-30T19:38:26.413 回答