sql >> Base de Datos >  >> RDS >> Mysql

Eliminación de registros anteriores a un mes/30 días

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);

Luego puede eliminar el código PHP para calcular el rango de fechas y dejar que MySQL lo maneje por usted.

Si tiene control sobre la estructura de la base de datos, será mucho más eficiente almacenar la fecha en un campo DATETIME, en lugar de llamar a STR_TO_DATE en cada fila de la base de datos.