Brug kan bruge til det
- Mysql-begivenheder (IMHO den bedste kandidat)
- cron job eller Windows Task Scheduler (hvis du er på Windows-platformen)
Hvis du vælger mulighed 1, skal du oprette en begivenhed
CREATE EVENT myevent
ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 HOUR DO
UPDATE myschema.mytable
SET mycol = mycol + 1;
Brug SHOW PROCESSLIST
for at kontrollere, om begivenhedsplanlægning er aktiveret. Hvis den er ON
du skulle se en proces "Daemon" af brugeren "event_scheduler". Brug SET GLOBAL event_scheduler = ON;
for at aktivere skemalæggeren, hvis den ikke er aktiveret i øjeblikket. Mere om konfiguration af begivenhedsplanlægning her
.
Hvis du vil se begivenheder, som du har i dit skema
SHOW EVENTS;
OPDATERING Din opdateringserklæring skal se sådan ud
UPDATE online_auctions
SET auction_status = 'ENDED'
WHERE auction_end_date < NOW();
Her er SQLFiddle demo