具体 *** 作如下:
先看看看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语句就定时执行一次。
关闭事件任务
事件调度器是在 MySQL 5.1 中新增的另一个特色功能,可以作为定时任务调度器,取代部分原先只能用 *** 作系统任务调度器才能完成的定时功>能。例如,Linux 中的 crontabe 只能精确到每分钟执行一次,而 MySQL 的事件调度器则可以实现每秒钟执行一个任务,这在一些对实时性要>求较高的环境下就非常实用了。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)