有時候我們會需要在MySQL中刪除n天前的數據,這個需求在一些日志系統中尤為常見。在MySQL中可以使用DELETE和WHERE語句來輕松地實現這個功能。
首先,我們需要使用DATE_SUB函數來計算出n天前的日期,例如:
SELECT DATE_SUB(NOW(), INTERVAL 30 DAY);
這將返回當前日期30天前的日期。接著,我們需要將這個日期和我們想要刪除的表的日期字段進行比較。假設我們的表名為"log",日期字段名為"log_date":
DELETE FROM log WHERE log_date < DATE_SUB(NOW(), INTERVAL 30 DAY);
這個語句將刪除所有log_date早于30天前的數據。
需要注意的是,如果我們的日期字段存儲的是UNIX時間戳,需要先將UNIX時間戳轉換為MySQL的日期格式:
DELETE FROM log WHERE FROM_UNIXTIME(log_date) < DATE_SUB(NOW(), INTERVAL 30 DAY);
使用DATE_SUB和WHERE語句可以輕松地在MySQL中刪除n天前的數據。
上一篇fs 讀取json