2014-11-14 29 views
0

我需要在MYSQL中創建一個自動事件,以在訂單日期比當天日期多2天時將訂單狀態更新爲「已完成」。我的活動需要每天運行一次。事件沒有正常運行

這裏是我創造:

CREATE EVENT updorder 
    ON SCHEDULE EVERY 1 DAY 
     DO 
     update orders 
     set order_status = "Fulfilled" 
     where order_dt + INTERVAL 2 DAY < DATETIME 

我也這樣做:

SET GLOBAL event_scheduler = ON; 

SHOW PROCESSLIST 
309 event_scheduler localhost NULL Daemon 125 Waiting for next activation NULL 

我應該怎麼做才能獲取此事件激活?

回答

1

你的事件可能是射擊,但沒有做打算UPDATE導致以下WHERE條件不有道理(DATETIME是一種數據類型)

where order_dt + INTERVAL 2 DAY < DATETIME 

我想你的意思是檢查less than current date time

where order_dt + INTERVAL 2 DAY < NOW() 

(OR)

WHERE DATE_ADD(order_dt, INTERVAL 2 DAY) < NOW() 
+0

謝謝拉胡爾。它現在有效。我通過改變事件來測試它:CREATE EVENT updorder ON SCHEDULE AT CURRENT_TIMESTAMP DO 更新訂單 組ORDER_STATUS = 「達到」 其中order_dt + INTERVAL 2 DAY JavascriptL 2014-11-14 21:24:44

相關問題