mysql定时器是系统给提供了event,而oracle里面的定时器是系统给提供的job。下面先创建一个表:


create table mytable (

id int auto_incrementnotnull,

user_name varchar(100)notnulldefault'',

tel  varchar(100) notnulldefault'',

addtime  timestampnotnull,

constraintpk_mytableprimarykey(id)

)


也可以用工具创建,比如phpmyadmin 或者navicat创建;


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


create procedure mypro()

BEGIN

insert into mytable (user_name, tel, addtime) values('1111','15926296670',now());

end;


同上可以利用工具创建存储过程

 

紧接着创建mysql的定时器event:

create eventif notexists eventJob

on schedul eevery 15 second

on completion PRESERVE

do call mypro();


这里设置为每15秒执行一次

至此所有的准备工作已经写完了,做完这些,mysql要想利用定时器必须的做准备工作,就得把mysql的定时器和事件给开启,开启方法:

SET GLOBAL event_scheduler = 1; ===启动定时器


SET GLOBAL event_scheduler = 0; === 停止定时器


ALTERE VENTevent Job ON COMPLETION PRESERVE ENABLE;  === 开启事件


ALTERE VENTevent Job ON COMPLETION PRESERVE DISABLE;=== 关闭事件


开启完毕可以先看看是否开启成功:


SHOW VARIABLES LIKE'%sche%'; === 查看定时器状态  

 

 

到这里,如果你开启成功了,那么可以去看你的数据库mytable表是否每15秒会多条数据呢