我需要在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
如何激活此活动?
答案 0 :(得分: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()