ON SCHEDULE EVERY 7 WEEK STARTS
'2014-05-14 04:00:00'
ON COMPLETION PRESERVE
ENABLE
DO
[要执行的sql语句]
mysql要实现定时执行sql语句就要用到Event具体 *** 作如下:
先看看看event 事件是否开启
show variables like '%sche%'
如没开启,则开启。需要数据库超级权限
set global event_scheduler =1
创建存储过程 update_a (注:就是你要执行的sql语句)
mysql>create procedure update_a() update a set a.y_avg=(select avg(b.youhao) from b where a.a_id=b.a_id)
创建一个定时任务:event e_updateA
mysql>create event if not exists e_updateA
->on schedule every 60 second ---设置60秒执行一次
->on schedule at date_add(now(),interval 1 minute) ---在一分钟后执行
->on completion preserve
->do call update_a()---执行update_a()存储过程
创建Event之后,sql语句就定时执行一次。
关闭事件任务
1、首先,选中一个数据库world,为了防止破坏其他的数据库表,这里新建一张数据库表t_people_info,如下图所示。
2、创建t_people_info数据库表,可以查看下表结构,使用SQL语句或直接点击进行查看表结构。
3、接着,在world数据库找到”事件“菜单项,鼠标右键”创建事件...“,如下图所示,输入事件名称,单击”创建“。
4、就会生成insert_data事件,如下图所示。
5、接着,编写insert_data事件,每10秒钟向t_people_info插入一条数据。
6、最后查看事件的状态,调用事件运行成功。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)