データベースの特定のテーブルから、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を日数に置き換えます