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
