sql >> Database >  >> RDS >> Mysql

Hoe een MySQL-record na een bepaalde tijd te verwijderen

U kunt deze voorwaarde proberen:

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

Zodat het hele SQL-script er als volgt uitziet:

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;

In jouw plaats zou ik het gegeven probleem echter oplossen met een eenvoudig cron-script. De redenen om dit te doen zijn eenvoudig:het is gemakkelijker om de code te onderhouden, geen lelijke SQL-oplossingen, integreert soepel met uw systeem.



  1. SQL Server-gegevens invoegen in Salesforce met een cursor

  2. Tel alle objecten in uw database

  3. PLS-00201 identifier 'PACKAGENAME.PROCEDURENAME' moet worden gedeclareerd

  4. Brent Ozar legt interne en externe fragmentatie van SQL Server uit