Mysql 简单的使用定时器调用存储过程

1.创建测试的表

CREATE TABLE mytable (
    id INT auto_increment NOT NULL,
    NAME VARCHAR (100) NOT NULL DEFAULT '',
    introduce text NOT NULL,
    createtime TIMESTAMP NOT NULL,
   CONSTRAINT pk_mytable PRIMARY KEY (id)
) ;

2.创建存储过程,这里的存储过程主要提供给mysql的定时器event来调用去执行:

简单例子

create procedure mypro()
BEGIN

#需要执行的代码

insert into mytable (name,introduce,createtime) values ('1111','inner mongolia',now());

end;

3.创建mysql的定时器event

简单例子

create event if not exists eventJob 
on schedule every 1 second (调用的时间周期参数)
on completion PRESERVE
do call mypro();

4.mysql要想利用定时器必须的做准备工作,就是把mysql的定时器给开启了:

SET GLOBAL event_scheduler = 1;  -- 启动定时器
SET GLOBAL event_scheduler = 0;  -- 停止定时器

5.把刚刚创建的事件开启:

ALTER EVENT eventJob ON  COMPLETION PRESERVE ENABLE;   -- 开启事件
ALTER EVENT eventJob ON  COMPLETION PRESERVE DISABLE;  -- 关闭事件

6.查看创建事件的状态:

SELECT * FROM mysql.event WHERE mysql.event.name LIKE '%事件名称%'

 

本文参考: https://www.cnblogs.com/Cayenne/p/6924694.html

 

posted on 2018-05-07 11:24  kavinkuan  阅读(344)  评论(0编辑  收藏  举报

导航