sql >> Databasteknik >  >> RDS >> Mysql

Hur tar man bort mysql-data från tabellen vid midnatt?

Att implementera din egen schemaläggare för evenemang, särskilt som en webbsida som använder JavaScript är en dålig idé. Använd för det antingen

  • en cron jobb för att köra DELETE uttalande via mysql kommandoradsgränssnitt
    /path/to/mysql -u<user> -p"<password>" <db_name> -e "delete from messages"
     CREATE EVENT delete_messages_at_midnight 
     ON SCHEDULE EVERY 1 DAY STARTS CURDATE() + INTERVAL 1 DAY
     DO DELETE FROM messages;

Om du använder MySQL-händelser:

  • använd SHOW PROCESSLIST för att kontrollera om händelseschemaläggaren är aktiverad. Om den är PÅ bör du se en process "Daemon " av användaren "event_scheduler ".
  • använd SET GLOBAL event_scheduler = ON; för att aktivera schemaläggaren om den för närvarande inte är aktiverad.
  • Mer om att konfigurera händelseschemaläggaren läs här



  1. Oracle Delete Statement:hur många rader som har tagits bort genom kaskadborttagning

  2. logga infogningar/uppdateringar/borttagningar i Oracle-databasen

  3. COPY med dynamiskt filnamn

  4. 'MSDAORA.1'-leverantören är inte registrerad på den lokala maskinen