您的位置:首页 > 数据库 > MySQL

mysql定时执行某任务

2014-03-28 11:45 197 查看
查看event是否开启: show variables like '%sche%';
将事件计划开启: set global event_scheduler=1;
关闭事件任务: alter event e_test ON COMPLETION PRESERVE DISABLE;
开户事件任务: alter event e_test ON COMPLETION PRESERVE ENABLE;

简单实例.
创建表 CREATE TABLE test(endtime DATETIME);

创建存储过程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字段中去.

使用navicat UI界面操作更方便,存储过程(函数)和计划任务(事件)

mysql中查看Event作业情况

通过执行如下的语句:

SELECT * FROM information_schema.EVENTS

实用性语句

SELECT LAST_EXECUTED FROM information_schema.EVENTS WHERE EVENT_NAME='reset_score';

自动开启

在my.ini的[mysqld]下

event_scheduler=ON
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: