Heim >Datenbank >MySQL-Tutorial >Wie lösche ich automatisch MySQL-Datensätze, die älter als 7 Tage sind?

Wie lösche ich automatisch MySQL-Datensätze, die älter als 7 Tage sind?

Linda Hamilton
Linda HamiltonOriginal
2024-11-27 08:15:11574Durchsuche

How to Automatically Delete MySQL Records Older Than 7 Days?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn