Mysql
 sql >> Database >  >> RDS >> Mysql

Eliminazione di record più vecchi di un mese/30 giorni

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

Puoi quindi rimuovere il codice PHP per il calcolo dell'intervallo di date e lasciare che MySQL lo gestisca per te.

Se hai il controllo sulla struttura del database, sarà molto più efficiente memorizzare la data in un campo DATETIME, piuttosto che chiamare STR_TO_DATE su ogni riga del database.