web-dev-qa-db-fra.com

Supprimer toutes les lignes dont l'horodatage est supérieur à x jours

Je souhaite supprimer toutes les lignes avec un horodatage de plus de 180 jours d'une table spécifique dans ma base de données.

J'ai essayé le ceci:

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

Mais cela a supprimé toutes les lignes et pas seulement les lignes de plus de 6 mois.

J'ai une colonne dans la table on_search appelée search_date et contient l'heure à laquelle cette ligne a été créée.

search_id   search_term    search_date 
660779      car games      1390052553 
43
Khaleal
DELETE FROM on_search 
WHERE search_date < UNIX_TIMESTAMP(DATE_SUB(NOW(), INTERVAL 180 DAY))
63
JSR
DELETE FROM on_search WHERE search_date < NOW() - INTERVAL N DAY

Remplacez N par votre nombre de jours

52
Ali MasudianPour