2015-04-17 74 views
0

任何人都可以告訴我爲什麼這個事件不會執行?MySQL事件將不會執行

CREATE EVENT add_recurring 
ON SCHEDULE EVERY 1 MINUTE 
    STARTS '2015-04-17 06:01:00' 
DO INSERT INTO payment (amount, note, custID, type) 
    SELECT amount, note, custID, 'C' FROM recurring WHERE day = DATE_FORMAT(CURRENT_DATE(), '%e') 

這裏是重複表的樣子:

enter image description here

這裏是沒有任何優勢的情況下進入到這些值的支付表:

enter image description here

+0

你是否收到任何錯誤或者你沒有得到想要的結果? –

+0

沒有錯誤。該事件是創建並存儲的,但它不會每分鐘輸入任何值到付款表中,它根本沒有輸入任何內容。 –

+0

您在插入查詢後錯過了**; **您已經立即編寫了select查詢 –

回答

0

我假設你已經改變了你的系統時鐘?查詢是從現在起2個月...

+0

當我讀到這個答案並去改變它時,我非常興奮,但後來我意識到這是一個錯字,這是2015-04-17在我的活動中:/ –

+0

@NickSuwyn聽起來不像這個答案你的問題,但你接受它作爲正確的答案? (綠色的勾號表示你接受了這個答案)。接受答案的問題不太可能得到更多關注。如果你還沒有找到你的問題的答案,你應該能夠通過再次點擊綠色的勾號來接受這個答案。 –

1

試試這些,假設開始日期是未來

  1. 嘗試加入BEGIN,END和DELIMITER

    delimiter | 
    
    CREATE EVENT add_recurring 
        ON SCHEDULE 
        EVERY 1 MINUTE 
        STARTS '2015-04-17 06:01:00' 
        DO 
        BEGIN 
         INSERT INTO payment (amount, note, custID, type), SELECT amount, note, custID, 'C' FROM recurring WHERE day = DATE_FORMAT(CURRENT_DATE(), '%e') 
        END | 
    
    delimiter ; 
    
  2. 確保即使程序器被接通。

    SET GLOBAL event_scheduler = ON; SET GLOBAL event_scheduler = 1; 或下的[mysqld] my.cnf中部分event_scheduler=ON

+0

我已經完成SET GLOBAL event_scheduler = ON;它仍然不起作用。 –