我在表格中发送了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天后自动更新状态?
任何帮助都将受到高度赞赏。
答案 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"