本文主要是介绍MySQL事件_单次事件_定时循环事件,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
事件简介
MySQL自5.1版本引入事件,即在固定的事件,执行一件固定的事情,并且还可以决定这件事情是只执行一次,还是按照固定的间隔进行循环执行。伴随着数据库可视化软件越来越多,创建事件的方式也挺多的,在这里,介绍最常用的两种,第一种,代码方式,第二种,使用Navicat可视化方式创建。
代码方式
-- 查看定时器是否开启,OFF为关
show variables like 'event_scheduler'-- 开启定时任务,此种方式开启后,数据库重启会自动关闭
set global event_scheduler=1-- 创建定时任务
create event lock_rpton schedule every 10 seconddoupdate rpt_template set report_status=1 where rpt_template_id in ('000','1B87483969B9431090F925E789F7C41A')-- 定时任务格式
create event 事件名称on schedule every 间隔时间do具体执行的SQL任务语句-- 修改定时任务
alter event lock_rpton schedule every 20 seconddoupdate rpt_template set report_status=1 where rpt_template_id = '000'-- 修改定时任务格式
alter event 事件名称on schedule every 间隔时间do具体执行的SQL任务语句-- 查看指定事件
show events-- 或
select * from mysql.event-- 关闭指定事件的定时任务
alter event lock_rpt on completion preserve disable-- 关闭定时器
set global event_scheduler = 0
*开启事件
以上打开事件,数据库重启后,事件按钮会自动关闭,如果想永久改变,参考鸡蛋(我大学室友)写的:
https://blog.csdn.net/qq_38134242/article/details/114300600?spm=1001.2014.3001.5501
中的1.2.2
可视化方式
1.使用Navicat,选中对应的数据库,右击事件,新建事件
2.双击该事件打开,在定义里面书写该事件需要执行的SQL
3.设置该事件的执行开始时间及频率,最后保存,保存的时候,要输入该事件的名称
4.真正存储事件的地方(MySQL数据库中的event表)
这篇关于MySQL事件_单次事件_定时循环事件的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!