MySQL 设定定时任务通常是通过创建事件(Event)来实现的。事件调度器可以在指定的时间或周期性地执行预定的SQL语句或存储过程。
事件调度器是MySQL的一个功能,它允许数据库在特定的时间点或按照特定的时间间隔执行操作。事件可以是一次性执行的,也可以是周期性地重复执行的。
以下是一个简单的示例,展示如何创建一个每天凌晨1点执行的事件,该事件会更新users
表中的last_login
字段:
-- 首先,确保事件调度器已启用
SET GLOBAL event_scheduler = ON;
-- 创建事件
CREATE EVENT daily_update_last_login
ON SCHEDULE EVERY 1 DAY
STARTS CURRENT_DATE + INTERVAL 1 DAY
DO
UPDATE users SET last_login = NOW() WHERE last_login IS NULL;
如果事件调度器未启用,上述事件将不会执行。可以通过以下命令启用:
SET GLOBAL event_scheduler = ON;
请注意,MySQL的事件调度器功能在不同的版本中可能会有所不同,上述信息基于MySQL 8.0版本。如果使用的是其他版本,请参考相应版本的官方文档。
领取专属 10元无门槛券
手把手带您无忧上云