mysql 让一个存储过程定时作业的代码


1、在mysql 中建立一个数据库 test1

语句:create database test1

2、创建表examinfo

create table examinfo(
id int auto_increment not null,
endtime datetime,
primary key(id)
);

3 插入数据:

insert into examinfo values('1','2011-4-23 23:26:50');

4 创建存储过程test

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

5、 创建event e_test
复制代码 代码如下:

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


6、查看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;

7、运行查询结果即可出现想要的结果。

结果显示如下:
原始数据:

过一段时间查询后的数据:
1、在mysql 中建立一个数据库 test1

语句:create database test1

2、创建表examinfo

create table examinfo(
id int auto_increment not null,
endtime datetime,
primary key(id)
);

3 插入数据:

insert into examinfo values('1','2011-4-23 23:26:50');

4 创建存储过程test

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

5、 创建event e_test
复制代码 代码如下:
CREATE EVENT if not exists e_test
on schedule every 30 second
on completion preserve
do call test();


6、查看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;

7、运行查询结果即可出现想要的结果。

结果显示如下:
原始数据:

过一段时间查询后的数据:

« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3