Man kann bei MySQL, sofern aktiviert, serverseitige Events einrichten. Das kann man bspw. nutzen, um Tabellenbereinigungen automatisiert durchzuführen.
Prüfen, ob der Event Scheduler aktiv ist
SQL
SHOW VARIABLES LIKE 'event_scheduler'; -- Ausgabe event_scheduler ONSQLManuell aktivieren
SQL
SET GLOBAL event_scheduler = ON;SQLEvent anlegen
SQL
CREATE EVENT [EVENT_NAME]
ON SCHEDULE EVERY 1 DAY
STARTS TIMESTAMP(CURRENT_DATE, '03:15:00')
DO
DELETE FROM [TABLENAME]
WHERE created < DATE_SUB(NOW(), INTERVAL 1 YEAR);SQLAlle Events anzeigen
SQL
SHOW EVENTS;SQLDetails zu einem Event anzeigen
SQL
SHOW CREATE EVENT [EVENT_NAME];SQLPrüfen, ob und wann Events gelaufen sind
SQL
SELECT
EVENT_NAME,
LAST_EXECUTED,
STATUS
FROM information_schema.EVENTS
WHERE EVENT_SCHEMA = '[DATENBANK_NAME]';SQL