自MySQL5.1.6起,增加了一个非常有特色的功能,事件调度器(事件调度器),可以用做定时执行某些特定任务(例如:删除记录,对数据进行汇总,数据备份等等),来取代原先只能由操作系统的计划任务来执行的工作。
更值得一提的是MySQL的事件调度器可以精确到每秒钟执行一个任务,而操作系统的计划任务(如:Linux的cron或Windows下的任务计划)只能精确到每分钟执行一次。对于一些对数据实时性要求比较高的应用(例如:股票,赔率,比分等)就非常适合。
事件调度器有时也可以称为临时触发器(时间触发),因为事件调度器是基于特定时间周期触发来执行某些任务,而触发器(触发器)是基于某个表所产生的事件触发的,区别也就在这里。
<强>一、查看是否开启强>
在显示变量如& # 39;event_scheduler& # 39;;
<强>二,开启事件调度器强>
集全球event_scheduler=> event_scheduler=>创建事件(如果不存在)event_name 进度安排 [>改变事件event_name禁用;
<强>五、开启事件强>
改变事件event_name启用;
<强>六,删除事件强>
下降事件(如果存在)event_name;
<强>七、查看所有事件强>
显示事件;
<强>八,事件例子强>
我们先创建一个简单的测试表用于测试
“测试”(创建表 “id”int(11)无符号NOT NULL AUTO_INCREMENT评论& # 39;id # 39; ‘现在’datetime默认空评论& # 39;时间& # 39;, 主键(“id”) )引擎=InnoDB默认字符集=utf8;
事件类型有两种,一种是间隔触发,一种是特定时间触发。
我们每隔一秒向测试表插入一条记录:
下降事件如果存在event_test; 创建事件event_test 按计划每1秒开始& # 39;2017-08-22 11:57:00& # 39;结束& # 39;2017-08-22 12:00:00& # 39; 完成后保存 启用 评论& # 39;每隔一秒向测试表插入记录& # 39; 做插入测试值(空,现在());
结果如图: