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 に答える