常用語句:
建立定時器,並執行sql語句塊
delimiter $$
create event b
on schedule every 1 second
on completion preserve enable
do begin
insert into test(a) values(now());
insert into test(a) values(now());
end $$
delimiter;
修改定時器狀態為不可用(即關閉定時器)
alter event a on completion preserve disable;
刪除定時器
drop event b;
顯示資料庫中所有定時器
show events;
檢視資料庫中定時器設定是否可用(on為可用,off為不可用)
select @@event_scheduler;
設定定時器是否可用(on為可用 off為不可用)
set global event_scheduler = on;
一些例子
從現在開始每隔九天定時執行
create event event1
on schedule every 9 day starts now()
on completion preserve enable
dobegin
call total();
end每個月的一號凌晨1 點執行
create event event2
on schedule every 1 month starts date_add(date_add(date_sub(curdate(),interval day(curdate())-1 day), interval 1 month),interval 1 hour)
on completion preserve enable
dobegin
call stat();
end每個季度一號的凌晨2點執行
create event total_season_event
on schedule every 1 quarter starts date_add(date_add(date( concat(year(curdate()),'-',elt(quarter(curdate()),1,4,7,10),'-',1)),interval 1 quarter),interval 2
hour)
on completion preserve enable
dobegin
call season_stat();
end每年1月1號凌晨四點執行
create event total_year_event
on schedule every 1 year starts date_add(date(concat(year(curdate()) + 1,'-',1,'-',1)),interval 4 hour)
on completion preserve enable
dobegin
call year_stat();
end
MySQL event,作業,事件排程
建立表記錄event執行過程 create table mysql event history dbname varchar 128 not null default eventname varchar 128 not null default starttime datetime not null...
MYSQL EVENT事件無法生效
事件 event 是mysql在相應的時刻呼叫的過程式資料庫物件,它由乙個特定的執行緒來管理的,它有兩種排程方式。一次性呼叫。週期性呼叫。最近在使用週期性呼叫時,發現無法生效 我們歸納為兩種問題 全域性的event狀態預設是關閉的 新建事件的狀態為disable 解決方案 問題1 將全域性event...
mysql event呼叫儲存過程
mysql event 用來實現定時任務 mysql 從5.1.16 開始擁有的新功能。下面我寫乙個簡單的示例。先建立資料庫和兩個表 drop database dep create database dep use dep create table aa id int auto increment...