MySQL定时任务是如何实现的

来源:互联网 发布:macbook如何卸载软件 编辑:程序博客网 时间:2024/05/22 03:29
问题:
  我想实现每隔30秒执行以下下面sql
  update userinfo SET endtime = now() WHERE id =’155′;
  如何让mysql定时执行上面的sql语句呢!
  回答:
  一、查看event是否开启
  show variables like ‘%sche%’;
  开启event_scheduler
  set global event_scheduler =1;
  二、创建存储过程test
  CREATE PROCEDURE test ()
  BEGIN
  update userinfo SET endtime = now() WHERE id = ’155′;
  END;
  三、创建event e_test
  create event if not exists e_test
  on schedule every 30 second
  on completion preserve
  do call test();
  每隔30秒将执行存储过程test
  关闭事件任务
  alter event e_test ON COMPLETION PRESERVE DISABLE;
  开户事件任务
  alter event e_test ON COMPLETION PRESERVE ENABLE;
0 0