2013-07-09 33 views
1

我在mySql中有一個事件日程安排,需要在每個月的15號下午2:00運行。我寫它如下:MySQL事件日程表不起作用

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表。我錯過了什麼嗎?

謝謝

+0

是否啓用了['event_scheduler'](http://dev.mysql.com/doc/en/server-system-variables.html#sysvar_event_scheduler)? – eggyal

+0

可能是因爲您的事件調度程序未打開。檢查了這一點http://stackoverflow.com/questions/16937280/mysql-event-not-running-after-database-migration/16937697#16937697 –

+0

你可以閱讀這篇文章http://www.sitepoint.com/how- to-create-mysql-events /只丟失SET GLOBAL event_scheduler = ON; –

回答

0

驗證是否event_schedulerON - 執行以下命令:

SHOW PROCESSLIST; 

它會輸出一個表/條目,則必須使用用戶event_schedule r和命令Daemon查找條目:

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

OR,您還可以驗證使用以下命令:

SELECT @@global.event_scheduler; 

結果應該是ON,否則將其關閉(將獲得0的命令),如在規定下一節。

SET GLOBAL event_scheduler = ON; 

一旦這樣做,你可以驗證它是否已被執行:


如果你沒有任何記錄(如上),你可以使用以下命令啓動事件調度正確使用SHOW PROCESSLIST命令,如上所述。