> 数据库 > MySQL >

MySQL中的定时执行

查看event是否开启

  show variables like '%sche%';

  将事件计划开启

  set global event_scheduler =1;

 

  创建存储过程test

  CREATE PROCEDURE test ()
  BEGIN
  update examinfo SET endtime = now() WHERE id = 14;
  END;

 

  创建event e_test

  create event if not exists e_test
  on schedule every 30 second
  on completion preserve
  do call test();

 

  每隔30秒将执行存储过程test,将当前时间更新到examinfo表中id=14的记录的endtime字段中去.

 

  关闭事件任务

  alter event e_test ON 
  COMPLETION PRESERVE DISABLE;

 

  开户事件任务
  alter event e_test ON 
  COMPLETION PRESERVE ENABLE;

 

  以上测试均成功,测试环境为mysql 5.4.2-beta-community mysql community server(GPL)



(责任编辑:IT)