MySql定時器,親測可用


1. 查看數據庫的event功能是否開啟,在MySql中event默認是關閉的,需要查看並且要確保event處於開啟狀態

sql:show VARIABLES LIKE '%sche%';

如果event_scheduler顯示為off或者0說明是關閉的,這時我們需要手動打開定時器

sql:SET GLOBAL event_scheduler = 1;

這時再輸入

sql:show VARIABLES LIKE '%sche%';

event_scheduler就應該是ON或這是1了;即可以進行后面的操作。

2. 創建測試表

create table user1

(

id int(11) not null auto_increment primary key,

username varcher(15) not null

)

3. 創建event要調用的存儲過程user1_test

create procedure user1_test()

begin

#為方便查看測試結果,推薦使用now()函數獲取當前時間進行插入

insert into user1(username ) values(now());

end

4. 創建事件user1_event

create event user1_event
#這句話是設置時間多長時間執行一次(本設置是1S一次)
on schedule every 1 second
on completion preserve disable
#這個是指定要執行的代碼塊,在上面已經定義過了(即為3.創建的儲存過程)
do call user1_test();

5. 開啟事件user1_event,因為在創建之后是默認關閉的

#開啟

alter event user1_event on completion preserve enable;

#關閉(關閉時間自行控制,推薦開啟約10S左右關閉,這樣可以很直觀的看到執行后的數據)

alter event user1_event on completion preserve disable;

6. 重頭戲開始了,查看你的數據

1 2019-06-10 10:35:56
2 2019-06-10 10:35:57
3 2019-06-10 10:35:58
4 2019-06-10 10:35:59
5 2019-06-10 10:36:00

是不是多出了好多條數據,恭喜你成功了!

 

參考:https://blog.csdn.net/ICanForYou/article/details/88957567


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM