1

我在 mySql 中有一个事件时间表,需要在每个月的 15 日下午 2:00 运行。我写了如下:

create event asdb.e_monthly
on schedule
every 1 month
starts '2013-07-15 13:59:59'
do
INSERT INTO asdb.abc_test values('monthly','monthly');

但它没有将值插入 abc_tes 表。我错过了什么吗?

谢谢

4

2 回答 2

0

确保您的 event_scheduler 已启用。默认情况下,它被禁用。

SET GLOBAL event_scheduler = ON;
SET GLOBAL event_scheduler = 1;

有关更多信息,请查看以下博客:

http://www.jeenalinfotech.com/blogs/mysql/mysql-event-scheduler/

于 2013-07-09T09:28:11.517 回答
0

验证是否event_schedulerON- 执行以下命令:

SHOW PROCESSLIST;

它将输出一个表/条目,您必须使用 User event_scheduler 和 Command查找条目Daemon

Id           User         Host      db  Command Time    State            Info
22870   event_scheduler localhost   \N   Daemon  23    Waiting for next activation  \N

或者,您还可以使用以下命令进行验证:

SELECT @@global.event_scheduler;

结果应该是ON,否则将其设置为关闭(将获取0命令),如下一节所述。


如果您没有任何此类条目(如上所述),您可以使用以下命令启动事件调度程序:

SET GLOBAL event_scheduler = ON;

完成后,您可以使用命令验证它是否已正确执行SHOW PROCESSLIST,如上所述。

于 2017-07-06T10:24:19.970 回答