Mysql
在 mysql 中 24 小時後自動更新列
我有一個表 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。
例如在上表中,Tue 的狀態為 0,時間超過 24 小時,因此 state 應更新為 1,同樣適用於 wed,但不適用於 thu。
我經歷了很多問題,例如:
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) ;
它將每小時執行一次