列を持つテーブルT1があります:
Name State time
mon 1 2014-01-09 11:23:00
tue 0 2014-01-07 14:40:00
wed 2 2014-01-08 09:23:00
thu 0 2014-01-09 12:23:00
ここで、イベントをスケジュールするか、トリガー(可能な場合)を開発します。いずれかの状態が0/2で、その時間が現在の時間から24時間を超えている場合は、1に更新する必要があります。
たとえば、上記の表では、火曜日の状態は0で、時間は24時間を超えているため、状態を1に更新する必要があります。これは、水曜日には適用されませんが、木曜日には適用されません。
私は次のような多くの質問をしました:
https://stackoverflow.com/questions/17387802/how-to-auto-update-mysql-after-timestamp-field-expierd
https://stackoverflow.com/questions/12421756/how-to-update-table-after-a-certain-time-interval
しかし、私はまだ理解していません、私の問題を解決する方法
CREATE EVENT reset
ON SCHEDULE
EVERY 1 HOUR
DO
update T1
set state=1
where time < date_sub(now(),interval 24 hour)
and (state=0 or state=2) ;
それは毎時間実行されます