事件未正常运行

时间:2014-11-14 21:02:18

标签: mysql events

我需要在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 个答案:

答案 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()