Mysql Event事件相關

2021-07-09 23:07:13 字數 1604 閱讀 3076

常用語句:

建立定時器,並執行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...