[英]SQL to delete all rows with timestamp older than (now - x days) except keep the most recent n records
[英]Delete all rows with timestamp older than x days
我想從數據庫中的特定表中刪除時間戳早於 180 天的所有行。
我試過這個:
DELETE FROM on_search WHERE search_date < DATE_SUB(NOW(), INTERVAL 180 DAY);
但這刪除了所有行,而不僅僅是超過 6 個月的行。
我在 on_search 表中有一個名為 search_date 的列,其中包含創建該行的時間。
search_id search_term search_date
660779 car games 1390052553
DELETE FROM on_search
WHERE search_date < UNIX_TIMESTAMP(DATE_SUB(NOW(), INTERVAL 180 DAY))
DELETE FROM on_search WHERE search_date < NOW() - INTERVAL N DAY
用您的天數替換 N
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.