Zkuste vytvořit Událost, která se v databázi spustí automaticky po požadovaném časovém intervalu.
Zde je příklad:Chcete-li odstranit položky, které jsou starší než 30 dní, z nějaké tabulky 'název_tabulky' se záznamem ve sloupci 'datetime'. Poté se každý den spustí následující dotaz, který provede požadovanou akci čištění.
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)
Potřebujeme přidat ON COMPLETION PRESERVE
zachovat událost po každém běhu. Více informací naleznete zde:http://www.mysqltutorial .org/mysql-triggers/working-mysql-scheduled-event/