Löschen von MySQL-Datensätzen basierend auf der Zeit
Um Nachrichten automatisch nach 7 Tagen aus Ihrer MySQL-Datenbank zu löschen, können Sie MySQL-Ereignisse nutzen. So geht's:
1. Definieren Sie das Ereignis:
CREATE EVENT delete_event ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 DAY ON COMPLETION PRESERVE DO BEGIN /* Insert the adjusted delete statement here. */ END;
2. Passen Sie die Löschanweisung an:
Die bereitgestellte Löschanweisung verwendet den >=-Operator, der das aktuelle Datum enthält. Um sicherzustellen, dass Nachrichten von vor 7 Tagen gelöscht werden, verwenden Sie < stattdessen:
WHERE date < DATE_SUB(NOW(), INTERVAL 7 DAY)
3. Vervollständigen Sie das Skript:
Alles zusammengenommen sollte Ihr überarbeitetes Skript so aussehen:
CREATE EVENT delete_event ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 DAY ON COMPLETION PRESERVE DO BEGIN DELETE messages WHERE date < DATE_SUB(NOW(), INTERVAL 7 DAY); END;
Das obige ist der detaillierte Inhalt vonWie lösche ich automatisch MySQL-Datensätze, die älter als 7 Tage sind?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!