如何使用事件计划在10天后自动更新状态?

时间:2018-03-24 06:54:50

标签: mysql

我在表格中发送了send_date和status。 我想在10天后自动更新状态。

假设sent_date是24/03/2018并且状态为已发送/已接收。 所以在04/04/2018,状态应该更新为自动中止。

我知道我必须使用Date_Add,但出于测试目的,我正在使用Date_Sub。

我的所作所为:

CREATE EVENT rot ON SCHEDULE EVERY 1 day DO 
    update barter_proposals 
       set proposal_status="Aborted"
     WHERE sent_date=DATE_SUB(CURDATE(), INTERVAL 1 day )
       AND proposal_status = "Sent/Received"

所以在这里,CURDATE采用系统的日期(24/03/2018),它将23/03/2018状态更新为Aborted ..这样可以正常工作。

 CREATE EVENT rot ON SCHEDULE EVERY 1 day DO 
        update barter_proposals 
           set proposal_status="Aborted"
         WHERE sent_date=DATE_SUB(sent_date, INTERVAL 1 day )
           AND proposal_status = "Sent/Received"
表中的

sent_date可以是任何内容。为此,它无法正常工作。需要进行哪些更改才能在10天后自动更新状态?

任何帮助都将受到高度赞赏。

1 个答案:

答案 0 :(得分:0)

CREATE EVENT rot ON SCHEDULE EVERY 1 day DO 
    update barter_proposals 
       set proposal_status="Aborted"
     WHERE sent_date=DATE(CURDATE()-10)
       AND proposal_status = "Sent/Received"