Подтвердить что ты не робот

Удалить все строки с меткой времени старше x дней

Я хочу удалить все строки с меткой времени старше 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 
4b9b3361

Ответ 1

DELETE FROM on_search 
WHERE search_date < UNIX_TIMESTAMP(DATE_SUB(NOW(), INTERVAL 180 DAY))

Ответ 2

DELETE FROM on_search WHERE search_date < NOW() - INTERVAL N DAY

Замените N вашим дневным счетом