MySQL事件不会执行

时间:2015-04-17 13:02:57

标签: mysql events

有谁能告诉我为什么这个事件不会执行?

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

2 个答案:

答案 0 :(得分: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]部分event_scheduler=ON

  3. 下的my.cnf中

答案 1 :(得分:0)

我假设你改变了你的系统时钟?查询是从现在开始的2个月......