L'uso può essere utilizzato per questo
- Eventi MySQL (IMHO il miglior candidato)
- cron job o Utilità di pianificazione di Windows (se utilizzi la piattaforma Windows)
Se scegli l'opzione 1 devi creare un evento
CREATE EVENT myevent
ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 HOUR DO
UPDATE myschema.mytable
SET mycol = mycol + 1;
Usa SHOW PROCESSLIST
per verificare se l'agenda eventi è abilitata. Se è ON
dovresti vedere un processo "Daemon" dell'utente "event_scheduler". Usa SET GLOBAL event_scheduler = ON;
per abilitare lo scheduler se attualmente non è abilitato. Ulteriori informazioni sulla configurazione dell'utilità di pianificazione degli eventi qui
.
Se vuoi vedere gli eventi che hai nel tuo schema
SHOW EVENTS;
AGGIORNAMENTO La tua dichiarazione di aggiornamento dovrebbe assomigliare a
UPDATE online_auctions
SET auction_status = 'ENDED'
WHERE auction_end_date < NOW();
Ecco SQLFiddle demo