美文网首页
MySQL定时任务

MySQL定时任务

作者: 行走在朝圣路上 | 来源:发表于2018-03-26 22:23 被阅读78次

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

-- 查看定时任务是否开启
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 //

相关文章

  • Linux笔记

    Linux定时任务 Mysql备份 Linux+Mysql定时备份 * * * * * user task分 时 ...

  • MySQL定时任务

    一、查看定时任务是否开启 二、开启关闭定时任务 三、建立定时任务,实例 四、修改事件 注: 其中的存储过程为 执行...

  • MySQL定时任务

    -- 查看定时任务是否开启 SHOW VARIABLES LIKE '%event_sche%'; -- 开启定时...

  • MYSQL定时任务

    创建存储过程: 每月执行存储过程(带下划线的是自己定义的):

  • mysql定时任务

    创建存储过程,保留100条数据,其他删除 创建定时任务:每晚四点触发 启动定时任务:

  • mysql定时任务

    1、首先 查看定时策略是否开启,查看命令:show variables like '%event_sche%';显...

  • Mysql定时任务

    一、基础的命令 调度器 时间 事件 附录 一、时间相关

  • Mysql 定时任务

    1.检查数据库是否开启 navicat 执行:**SHOW VARIABLES LIKE 'event_sched...

  • MySQL存储过程与定时任务

    记录下自己写的MySQL简单存储过程和定时任务 统计有多少个app 统计定时任务 停止和删除定时任务 参考文档:m...

  • mysql设置定时任务

    1.首先检查是否开启了定时任务 查看event是否开启 : SHOW VARIABLESLIKE'%event_s...

网友评论

      本文标题:MySQL定时任务

      本文链接:https://www.haomeiwen.com/subject/gbszqftx.html