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秒会多条数据呢
转载于:https://blog.51cto.com/xihan/1958415