0

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

做到这一点的方法只是一份工作(一些计时器......)?最佳做法是什么?

4

1 回答 1

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 ;
于 2012-08-07T11:27:08.053 回答