存储过程已添加好:https://blog.csdn.net/YXWik/article/details/127283316
1.创建定时器用来执行存储过程函数
create event delete_dataon schedule every 10 seconddo call delete_data();
这里的第一行代表的创建名称为delete_data的事件
第二行是执行周期为每10秒执行一次
第三行是该事件的操作内容,执行我们的存储函数
这里默认是创建好后立即执行
如果想要创建后并不开始生效可以增加 on completion preserve disable
。
查看定时任务事件
SELECT event_name,event_definition,interval_value,interval_field,status FROM information_schema.EVENTS;
show variables like '%sche%' ;
如果Value值为OFF,则需要开启。需要超级权限
set global event_scheduler=1 ;
删除定时任务
drop event delete_data;
定时任务的开启关闭
alter event delete_data on completion preserve enable; //开启定时任务alter event delete_data on completion preserve disable;//关闭定时任务
定时周期
上面用到的是每10秒执行一次
on schedule every 10 second
还有其他执行–关键字
on schedule every 1 second //每秒执行1次on schedule every 1 minute //每一分钟执行1次on schedule every 1 day //每一天执行1次
on schedule at current_timestamp()+interval 1 day //1天后执行on schedule at current_timestamp()+interval 10 minute //10分钟后执行on schedule at '2022-10-01 20:00:00' //在2022年10月1日,晚上20点执行
on schedule every 1 day starts current_timestamp()+interval 1 day ends current_timestamp()+interval 1 month //1天后开始每天都执行执行到下个月底on schedule every 1 day ends current_timestamp()+interval 5 day //从现在起每天执行,执行5天ON SCHEDULE EVERY 1 DAY STARTS '2022-10-12 00:00:00'// 从2022年10月12号0点执行,每天执行
常用的语法关键字:
NOT PRESERVE
任务完成后清除定时器, (默认)
PRESERVE
任务完成后不清除定时器
EVERY
周期执行
STARTS ENDS
在某个时间段执行
AY
某个时间点执行
ENDS
结束定时器时间
INTERVAL
间隔(时间)
定时器语法结构:
CREATE EVENT 定时器名称 ON SCHEDULE xx -- 定时器从什么开始执行的 (必须)ENDS CURRENT_TIMESTAMP xx -- 定时器开始后在什么时候结束 (非必选) ON COMPLETION xx -- 定时器清除策略 (默认就行)DO sql语句 -- 定时器执行的内容,只允许一条sql语句以分号结束 (必须)