Användning kan användas för det
- Mysql-händelser (IMHO den bästa kandidaten)
- cron-jobb eller Windows Task Scheduler (om du använder Windows-plattformen)
Om du väljer alternativ 1 måste du skapa en händelse
CREATE EVENT myevent
ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 HOUR DO
UPDATE myschema.mytable
SET mycol = mycol + 1;
Använd SHOW PROCESSLIST
för att kontrollera om händelseschemaläggaren är aktiverad. Om den är ON
du bör 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 här
.
Om du vill se händelser som du har i ditt schema
SHOW EVENTS;
UPPDATERA Ditt uppdateringsutlåtande bör se ut
UPDATE online_auctions
SET auction_status = 'ENDED'
WHERE auction_end_date < NOW();
Här är SQLFiddle demo