Comment pourrais-je supprimer tous les enregistrements d’une table MySQL avant une certaine date, où la colonne de date est au format DATETIME?
Un exemple datetime est 2011-09-21 08:21:22
.
Merci.
DELETE FROM table WHERE date < '2011-09-21 08:21:22';
Cela m’a aidé à supprimer des données en fonction de différents atsortingbuts. C’est dangereux, alors assurez-vous de sauvegarder la firebase database ou la table avant de le faire:
mysqldump -h hotsname -u username -p password database_name > backup_folder/backup_filename.txt
Maintenant, vous pouvez effectuer l’opération de suppression:
delete from table_name where column_name < DATE_SUB(NOW() , INTERVAL 1 DAY)
Cela supprimera toutes les données avant un jour. Pour supprimer des données avant 6 mois:
delete from table_name where column_name < DATE_SUB(NOW() , INTERVAL 6 MONTH)
Pour montrer le résultat jusqu’à hier
WHERE DATE(date_time) < CURDATE()
Montrer les résultats de 10 jours
WHERE date_time < NOW() - INTERVAL 10 DAY
Pour afficher les résultats avant 10 jours
WHERE DATE(date_time) < DATE(NOW() - INTERVAL 10 DAY)
Ceux-ci vont travailler pour vous
Vous pouvez trouver des dates comme celle-ci
SELECT DATE(NOW() - INTERVAL 11 DAY)