2012-04-17 59 views
1

我在這裏做錯了什麼?我只想讓程序每天運行。無法在MySQL中安排存儲過程

CREATE EVENT my_event 
ON SCHEDULE EVERY 1 DAY 
DO 
BEGIN 
CALL my_procedure("foo"); 
END $$ 

或者

CREATE EVENT my_event 
ON SCHEDULE EVERY 1 DAY 
DO CALL my_procedure("foo"); 

並獲得

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'EVENT my_event 
ON SCHEDULE EVERY 1 DAY 
DO 
BEGIN 
CALL my_procedure' at line 1 
+0

第二個爲我工作。 – 2012-04-17 10:53:30

+1

你使用的是什麼版本的MySQL? MySQL 5.1.6和更高版本支持這個 – Christian 2012-04-17 10:55:54

+0

它可能是一個版本問題?我在5.0.77 – jdborg 2012-04-17 10:56:18

回答

0

如果您使用的是Windows,然後

How to schedule a mysql stored procedure in windows?

的評論對這個問題展示瞭如何CREA將批處理文件作爲將調用該過程的預定作業運行。

+0

我沒有使用Windows,但不用擔心,我已經創建了一個bash腳本。謝謝。 – jdborg 2012-04-17 11:10:37

1

嘗試此查詢

檢查事件調度是關閉

select @@event_scheduler 

如果關你必須把它的toogle對

SET @@global.event_scheduler = ON; 

如果MySQL服務器shutsdown事件調度會再次關閉

+1

未知系統變量'event_scheduler'。我在Amazon RDS上使用MySQL 5.5。我應該怎麼做才能使用MySQL Event Scheduler? – cawecoy 2014-04-23 06:13:01