Mysql
 sql >> Database >  >> RDS >> Mysql

Come eliminare un record MySQL dopo un certo tempo

Puoi provare a utilizzare questa condizione:

WHERE date < DATE_SUB(NOW(), INTERVAL 7 DAY)

In modo che l'intero script SQL assomigli a questo:

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;

Tuttavia, al tuo posto, risolverei il problema dato con un semplice script cron. Le ragioni per farlo sono semplici:è più facile mantenere il codice, nessuna brutta soluzione SQL, si integra perfettamente con il tuo sistema.