Gebruik kan daarvoor gebruiken
- Mysql-evenementen (IMHO de beste kandidaat)
- cron job of Windows Taakplanner (als je op Windows-platform werkt)
Als je voor optie 1 kiest, moet je een evenement maken
CREATE EVENT myevent
ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 HOUR DO
UPDATE myschema.mytable
SET mycol = mycol + 1;
Gebruik SHOW PROCESSLIST
om te controleren of de gebeurtenisplanner is ingeschakeld. Als het ON
is je zou een proces "Daemon" moeten zien door gebruiker "event_scheduler". Gebruik SET GLOBAL event_scheduler = ON;
om de planner in te schakelen als deze momenteel niet is ingeschakeld. Meer over het configureren van gebeurtenisplanner hier
.
Als u gebeurtenissen in uw schema wilt zien
SHOW EVENTS;
UPDATE Uw update-statement zou er als volgt uit moeten zien
UPDATE online_auctions
SET auction_status = 'ENDED'
WHERE auction_end_date < NOW();
Hier is SQLFiddle demo