MySQL 事件不会执行
MySQL Event won't execute
谁能告诉我为什么这个事件不会执行?
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')
这是重复出现的 table 的样子:
这是付款 table,它没有获得事件输入的任何这些值:
试试这些,假设开始日期是未来
尝试添加 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 ;
确保打开偶数计划。
SET GLOBAL event_scheduler = ON;
SET GLOBAL event_scheduler = 1;
或 my.cnf 下的 [mysqld] 部分 event_scheduler=ON
我想你已经改变了你的系统时钟?查询是2个月后...
谁能告诉我为什么这个事件不会执行?
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')
这是重复出现的 table 的样子:
这是付款 table,它没有获得事件输入的任何这些值:
试试这些,假设开始日期是未来
尝试添加 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 ;
确保打开偶数计划。
SET GLOBAL event_scheduler = ON;
SET GLOBAL event_scheduler = 1;
或 my.cnf 下的 [mysqld] 部分event_scheduler=ON
我想你已经改变了你的系统时钟?查询是2个月后...