MySql教程

Mysql定时器使用(本人亲笔亲测-开发使用)

本文主要是介绍Mysql定时器使用(本人亲笔亲测-开发使用),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

前言:

我有个需求,数据库中有任务数据,每一条任务都有一个时间,时间超过2小时了,那我就将他的状态修改掉。


第一步,开启定时器。

查看定时器,是否为开启状态。

show variables like '%event_sche%';`

开启定时器

set global event_scheduler=1;

第二步,创建存储过程

说明:存储过程,可以理解为sql语句(触发后的事件),当定时器的条件(时间到了,或者参数改变了)达到了,执行存储过程的语句。

编写存储过程

create procedure test_proce() --自定义的存储过程名称
begin 
 UPDATE news_details set `status` = 0 where
 date_add(complete_time,INTERVAL 2 HOUR) < now() and (`status` not in (1,0)  or  	`status` is null);
end;

第三步,定时器创建(定时执行存储过程)

create event test_event  --test_event定时任务的名称
on schedule every 10 second   --每10秒执行一次
on completion preserve disable  --创建后并不立即生效
do call test_proce();  --调用存储过程(存储过程的名称)

执行时记得删除掉--注释

第四步,开启事件

alter event test_event  on completion preserve enable;

成功

 

参考:Mysql 定时器 - 拐弯 - 博客园   --这位兄弟写的真的不错

这篇关于Mysql定时器使用(本人亲笔亲测-开发使用)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!