假設我在數據庫表的字段中包含內置的MySQL時間戳。每小時刪除一次舊的MySQL記錄
每次我更新記錄時,它都會更新時間戳。
我想刪除超過一個小時以上的記錄。 任何想法如何最好地做到這一點?
我可以有一個循環檢查所有記錄或數據庫中的觸發器的時間戳?
假設我在數據庫表的字段中包含內置的MySQL時間戳。每小時刪除一次舊的MySQL記錄
每次我更新記錄時,它都會更新時間戳。
我想刪除超過一個小時以上的記錄。 任何想法如何最好地做到這一點?
我可以有一個循環檢查所有記錄或數據庫中的觸發器的時間戳?
您可以使用一個cronjob安排查詢,以在固定的時間間隔來執行:
DELETE FROM table_name WHERE time_created < (UNIX_TIMESTAMP() - 3600);
每次它運行時,它會刪除所有記錄早於1小時(這是你想要大概什麼)。
謝謝! MySQL的時間戳是unix時間? – Lemonio
@Lemonio:是的。 'time_created'是一個Unix時間戳(int)。 –
聽起來像是你需要一個cron作業 –
如何記錄後很快變得過時(即未在過去一小時內更新)他們必須被刪除? – eggyal