Versuchen Sie, ein Ereignis zu erstellen, das automatisch nach dem gewünschten Zeitintervall in der Datenbank ausgeführt wird.
Hier ist ein Beispiel:Wenn Sie Einträge löschen möchten, die älter als 30 Tage sind, aus einer Tabelle „tableName“, die den Spalteneintrag „datetime“ enthält. Dann wird jeden Tag die folgende Abfrage ausgeführt, die die erforderliche Bereinigungsaktion durchführt.
CREATE EVENT AutoDeleteOldNotifications
ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 DAY
ON COMPLETION PRESERVE
DO
DELETE LOW_PRIORITY FROM databaseName.tableName WHERE datetime < DATE_SUB(NOW(), INTERVAL 30 DAY)
Wir müssen ON COMPLETION PRESERVE
hinzufügen um das Ereignis nach jedem Lauf zu behalten. Weitere Informationen finden Sie hier:http://www.mysqltutorial .org/mysql-triggers/working-mysql-scheduled-event/