一、關(guān)鍵字: EVENT
?
二、語法:
CREATE EVENT?
[IF NOT EXISTS ] //如果不存在則創(chuàng)建
event_name?
ON SCHEDULE schedle
[ON COMPLETION [NOT] PRESERVE]
[ENABLE|DESABLE]
[COMMENT 'comment']
DO?
sql_statement
?
說明:
1.event_name 事件的名稱
?
2.ON SCHEDULE
有兩種設(shè)定計(jì)劃任務(wù)的方式:
?
#單次計(jì)劃任務(wù):
AT 時(shí)戳
?
#重復(fù)的計(jì)劃任務(wù)
EVERY 時(shí)間(單位)的數(shù)量 時(shí)間單位 [STARTS 時(shí)戳][ENDS 時(shí)戳]
?
在兩種計(jì)劃任務(wù)中,時(shí)戳可以是任意的TIMESTAMP 和DATETIME 數(shù)據(jù)類型,要求提供的是將來的時(shí)間(大于CURRENT_TIMESTAMP),而且小于Unix時(shí)間的最后時(shí)間(等于或小于'2037-12-31 23:59:59')
?
時(shí)間單位是關(guān)鍵詞:YEAR,MONTH,DAY,HOUR,MINUTE 或者SECOND
?
3.[ON COMPLETION [NOT] PRESERVE]
COMPLETION 當(dāng)單次計(jì)劃任務(wù)執(zhí)行完畢后或當(dāng)重復(fù)性的計(jì)劃任務(wù)執(zhí)行到了ENDS階段。而聲明PRESERVE的作用是使事件在執(zhí)行完畢后不會(huì)被Drop掉
?
4.[ENABLE|DESABLE]
ENABLE 開啟事件
DESABLE 關(guān)閉事件
?
5.COMMENT
注釋
?
6.DO?
sql_statement
執(zhí)行的
sql
語句
?
三、通過設(shè)定全局變量event_scheduler 的值即可動(dòng)態(tài)的控制事件調(diào)度器是否啟用。?
?
查看是否event_scheduler開啟
mysql> SHOW VARIABLES LIKE '%event%';
?
設(shè)置開啟
mysql
> SET GLOBAL event_scheduler=ON;
?
四、例子:
?
每分鐘插入一條日志:
DELIMITER //
CREATE EVENT `user_log_event` ON SCHEDULE EVERY 1 MINUTE STARTS '2010-12-27 00:00:00'?
ON COMPLETION NOT PRESERVE ENABLE DO?
BEGIN?
INSERT INTO log SET addtime=NOW();
END
//
?
調(diào)用
存儲過程
:
DELIMITER //
CREATE EVENT `user_log_event` ON SCHEDULE EVERY 1 DAY STARTS '2010-00-00 00:00:00'?
ON COMPLETION NOT PRESERVE ENABLE DO?
BEGIN
CALL user_log_prov();
END
//
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
