Mysql
 sql >> Base de données >  >> RDS >> Mysql

Suppression d'enregistrements datant de plus d'un mois/30 jours

DELETE FROM archive
WHERE STR_TO_DATE(SUBSTR(created_date, 0, 25), '%a, %d %b %Y %H:%i:%S') <
      DATE_SUB(NOW(), INTERVAL 30 DAY);

Vous pouvez ensuite supprimer le code PHP pour calculer la plage de dates et laisser MySQL le gérer pour vous.

Si vous contrôlez la structure de la base de données, il sera beaucoup plus efficace de stocker la date dans un champ DATETIME, plutôt que d'appeler STR_TO_DATE sur chaque ligne de la base de données.