sql >> Databáze >  >> RDS >> Mysql

Jak odstranit záznam MySQL po určité době

Můžete zkusit použít tuto podmínku:

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

Aby celý SQL skript vypadal takto:

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;

Nicméně na vašem místě bych daný problém vyřešil jednoduchým cron skriptem. Důvody, proč to udělat, jsou jednoduché:je snazší udržovat kód, žádná nevzhledná řešení SQL, hladce se integruje do vašeho systému.



  1. Chyba mySQL 1040:Příliš mnoho připojení

  2. Podporuje integrace SQL Server CLR konfigurační soubory?

  3. Obnova instance mySQL z jiného uživatelského účtu (macOS)

  4. Průvodce Pgpool pro PostgreSQL:Část druhá