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

Sådan sletter du en MySQL-post efter et bestemt tidsrum

Du kan prøve at bruge denne betingelse:

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

Så hele SQL-scriptet ser sådan ud:

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;

Men på dit sted ville jeg løse det givne problem med et simpelt cron-script. Grundene til at gøre dette er enkle:det er nemmere at vedligeholde koden, ingen grimme SQL-løsninger, integreres problemfrit med dit system.



  1. Forskel mellem tabelfunktion og rørledningsfunktion?

  2. MySQL IN-operatørens ydeevne på (stort?) antal værdier

  3. Er du sorteret? Tips vedrørende T-SQL-vinduebestilling

  4. UPPER() – Konverter til store bogstaver i PostgreSQL