Utilisez peut utiliser pour cela
- Événements MySQL (IMHO le meilleur candidat)
- tâche cron ou planificateur de tâches Windows (si vous êtes sur la plate-forme Windows)
Si vous optez pour l'option 1, vous devez créer un événement
CREATE EVENT myevent
ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 HOUR DO
UPDATE myschema.mytable
SET mycol = mycol + 1;
Utilisez SHOW PROCESSLIST
pour vérifier si le planificateur d'événements est activé. Si c'est ON
vous devriez voir un processus "Daemon" par l'utilisateur "event_scheduler". Utilisez SET GLOBAL event_scheduler = ON;
pour activer le planificateur s'il n'est pas activé actuellement. Plus d'informations sur la configuration du planificateur d'événements ici
.
Si vous voulez voir les événements que vous avez dans votre schéma
SHOW EVENTS;
MISE À JOUR Votre déclaration de mise à jour devrait ressembler à
UPDATE online_auctions
SET auction_status = 'ENDED'
WHERE auction_end_date < NOW();
Voici SQLFiddle démo