Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL-Eintrag, der TTL unterliegen würde

Ich habe gerade herausgefunden, dass MySQL 5.1+ einen Ereignisplaner hat . Der MySQL-Ereignisplaner verwaltet die Planung und Ausführung von Ereignissen - Aufgaben, die nach Zeitplan ausgeführt werden.

Gespeicherte Routinen benötigen die Ereignistabelle in der MySQL-Datenbank. Diese Tabelle wird während der MySQL-Installation erstellt.

Syntax für die Verwendung wäre:

CREATE EVENT
  ClearUserActivationCodes
ON SCHEDULE EVERY 1 DAY
DO
BEGIN
DELETE FROM
  user_activation_code
WHERE code_time_stamp < NOW()
END

Es ist sehr nützlich und erfüllt meine Anforderungen zum automatischen Löschen von Tabellen ohne Verwendung von Cron-Jobs.