2013-12-23 82 views
0

假設我在數據庫表的字段中包含內置的MySQL時間戳。每小時刪除一次舊的MySQL記錄

每次我更新記錄時,它都會更新時間戳。

我想刪除超過一個小時以上的記錄。 任何想法如何最好地做到這一點?

我可以有一個循環檢查所有記錄或數據庫中的觸發器的時間戳?

+3

聽起來像是你需要一個cron作業 –

+1

如何記錄後很快變得過時(即未在過去一小時內更新)他們必須被刪除? – eggyal

回答

4

您可以使用一個cronjob安排查詢,以在固定的時間間隔來執行:

DELETE FROM table_name WHERE time_created < (UNIX_TIMESTAMP() - 3600); 

每次它運行時,它會刪除所有記錄早於1小時(這是你想要大概什麼)。

+0

謝謝! MySQL的時間戳是unix時間? – Lemonio

+0

@Lemonio:是的。 'time_created'是一個Unix時間戳(int)。 –