MySQL定时任务

一、查看定时任务是否开启

-- 查看定时任务是否开启
select @@event_scheduler;
show variables like 'event%';

二、开启关闭定时任务

--开启定时任务
set global event_scheduler = 1;
set global event_scheduler = on;

--关闭定时任务
set global event_scheduler = 0;
set global event_scheduler = off;

三、建立定时任务,实例

--建立定时任务
delimiter //
create event insert_job
on schedule every 10 second STARTS TIMESTAMP '2018-03-26 01:00:00'  --从2018-03-27凌晨1点开始每10秒执行一次
on completion preserve  /*-- 当本次event到期了,event会被disable,但是该event还是会存在--*/
do
begin
 call insertdata('laosong001',20,3);
end //

delimiter ;

四、修改事件

-- 开启事件
alter EVENT insert_job ON COMPLETION preserve ENABLE;
-- 关闭事件
ALTER EVENT insert_job ON completion PRESERVE DISABLE;

-- 删除事件
DROP EVENT if EXISTS insert_job; 

注: 其中的存储过程为

delimiter //
create procedure  insertdata(in vname varchar(20),in vage int, in numberdata int) 
begin
declare vnumber  int;
set vnumber = 1;
while vnumber <= numberdata do
insert into test_001(tname,age) values(vname,vage);
set vnumber = vnumber+1;
set vage = vage + 1;
end while;
end //

delimiter ;

执行定时任务后,数据表中得到数据如下:


执行定时任务后结果.png

定时任务实例-定时更新字段

select HOUR(timediff(now(),createtime)) from test_event where id = 1;


select MINUTE(timediff(now(),createtime)) from test_event where id = 1;


/*----创建的定时任务----*/
delimiter //
create event judgetime
on schedule every 5 MINUTE 
on COMPLETION PRESERVE
do
begin
    call updatestatus();
end //

/*----引用的存储过程----*/
create procedure updatestatus( )
begin
    declare vdiff int;
    declare vids int;
    declare num int;
      select count(id) into vids from test_event;
    set num = 1;
    while num <= vids do
    select MINUTE(TIMEDIFF(now(),createtime)) into vdiff from test_event where id = num;
        
     if  vdiff >= 10  THEN
        update test_event set orderstatus ='true' where id = num;
     end if;
     set num = num + 1;
     end while;
end //
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 朔方的冬天,一如既往的寒冷刺骨,一家花店如往常般开了门,一位穿着深蓝呢绒衣的男子就在细心的浇着花朵,花儿们似看见这...
    妺陌阅读 3,017评论 0 0
  • 故障: 迈锐宝故障灯亮 诊断: 电脑查看故障,p0014排气凸轮轴相位调整异常,根据以往经验,需要更换凸轮轴链轮及...
    宏宇_8a57阅读 4,756评论 0 1
  • 我多想把每一次出现都过成一次初见 可倔强的你和倔强的我这么执着 都不肯做出一丁点改变 如果你我不曾有过误解 是不是...
    孤璞念影阅读 1,436评论 0 1
  • 心我听你说阅读 1,787评论 0 2

友情链接更多精彩内容