標籤:
mysql 建立定時器
mysql定時器是系統給提供了event,而oracle裡面的定時器是系統給提供的job。廢話少說,下面建立表: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) )
建立預存程序,這裡的預存程序主要提供給mysql的定時器event來調用去執行: create procedure mypro() BEGIN insert into mytable (name,introduce,createtime) values (‘1111‘,‘inner mongolia‘,now()); end; 這裡只是簡單的寫了一下,只是為了說明例子。
緊接著建立mysql的定時器event: create event if not exists eventJob on schedule every 1 second on completion PRESERVE do call mypro(); 這裡設定為每一秒執行一次
至此所有的準備工作已經寫完了,做完這些,mysql要想利用定時器必須的做準備工作,就是把mysql的定時器給開啟了: SET GLOBAL event_scheduler = 1; -- 啟動定時器 SET GLOBAL event_scheduler = 0; -- 停止定時器
緊接著還要開啟事件: ALTER EVENT eventJob ON COMPLETION PRESERVE ENABLE; -- 開啟事件 ALTER EVENT eventJob ON COMPLETION PRESERVE DISABLE; -- 關閉事件
SHOW VARIABLES LIKE ‘%sche%‘; -- 查看定時器狀態
至此,你去資料庫裡面的表mytable裡面看下,系統會每隔一秒去插入一條資料,嘻嘻,任務完成了。 select * from mytable
mysql 建立定時器