在MySQL中的过期日期设置一个值

时间:2012-08-07 11:22:12

标签: mysql job-scheduling

MySQL可以通过某种方式在特定日期时间设置值。例如:

今天在我的表格测试中有

Id    Value     Expiration Date
1       0      2012-08-07 18:20
2       0      2012-08-10 15:20

明天我想要

Id    Value     Expiration Date
1       1      2012-08-07 18:20
2       0      2012-08-10 15:20

这样做的方法就是找工作(有些计时器......)?什么是最佳做法?

1 个答案:

答案 0 :(得分:1)

更好的方法是在MySQL中创建EVENT

DELIMITER $$

CREATE EVENT event1
ON SCHEDULE EVERY 1 DAY
DO
BEGIN
    UPDATE table_name 
    SET Value = 1
    WHERE DATE(Expiration Date) < CURRENT_DATE AND
          Value = 0;
END$$

DELIMITER ;