Usar puede usar para eso
- Eventos Mysql (En mi humilde opinión, el mejor candidato)
- trabajo cron o Programador de tareas de Windows (si está en la plataforma Windows)
Si opta por la opción 1, debe crear un evento
CREATE EVENT myevent
ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 HOUR DO
UPDATE myschema.mytable
SET mycol = mycol + 1;
Utilice SHOW PROCESSLIST
para verificar si el programador de eventos está habilitado. Si está ON
debería ver un proceso "Daemon" por el usuario "event_scheduler". Use SET GLOBAL event_scheduler = ON;
para habilitar el programador si actualmente no está habilitado. Más información sobre la configuración del programador de eventos aquí
.
Si desea ver los eventos que tiene en su esquema
SHOW EVENTS;
ACTUALIZAR Su declaración de actualización debería verse como
UPDATE online_auctions
SET auction_status = 'ENDED'
WHERE auction_end_date < NOW();
Aquí está SQLFiddle demostración