2012-06-01 57 views
0

創建事件時遇到問題。MySQL 5.5創建事件給出語法錯誤

我有一個'articoli'表。有一個articoli.titolo場爲varchar(255),當我嘗試創建這樣的事件:

CREATE EVENT inser_value 
ON SCHEDULE every 1 day 
DO INSERT INTO articoli (titolo) VALUES ('my_value'); 

這是了MySqlError的輸出

ERROR 1064(42000):您有一個錯誤在你的SQL語法中;檢查對應於你的MySQL服務器版本的權利 語法使用正耳朵 手冊「事件inser_value ON SCHEDULE每1天DO INSERT INTO articoli(TITOLO)VALUE」在行1

+0

我編輯的問題。現在發佈了 –

回答

5

出現此錯誤如果你的MySQL版本不支持Event模塊,或者它沒有啓動。

請檢查這兩個。

這篇文章談到了How to Configure MySQL Event Scheduler

啓動MySQL的事件調度

MySQL的事件是由一個特殊的事件調度線程中執行。它在默認情況下禁用,因此使用下面的MySQL命令可以判斷它的運行:

SHOW PROCESSLIST; 

如果調度程序正在運行,至少兩行顯示,一會使其用戶字段設置爲event_scheduler。如果只返回一行,則調度程序被禁用,事件將不會運行。

當MySQL配置文件(my.cnf或my.ini,Windows)中的命令行選項--event-scheduler=ONsetting event_scheduler=ON啓動MySQL時,您可以確保調度程序啓動。

或者,你可以從MySQL命令行啓動調度程序:

SET GLOBAL event_scheduler = ON; 

+0

謝謝。我嘗試使用SET GLOBAL event_scheduler = ON; 但它會推出: 錯誤1193(HY000):未知系統變量'event_scheduler' –

+0

我得到相同的錯誤。檢查你的mysql版本是否大於5.1.6,這是他們添加event_scheduler功能的時候。 –