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);
Du kan sedan ta bort PHP-koden för att beräkna datumintervallet och låta MySQL hantera det åt dig.
Om du har kontroll över databasstrukturen kommer det att vara mycket effektivare att lagra datumet i ett DATETIME-fält istället för att anropa STR_TO_DATE
på varje databasrad.