《MYSQL教程MySQL的事件調度器使用介紹》要點:
本文介紹了MYSQL教程MySQL的事件調度器使用介紹,希望對您有用。如果有疑問,可以聯系我們。
MYSQL學習自MySQL5.1.0起,增加了一個非常有特色的功能C事件調度器(Event Scheduler),可以用做定時執行某些特定任務,可以看作基于時間的觸發器.
MYSQL學習一、開啟
事件調度默認是關閉的,開啟可執行
代碼如下:
SET GLOBAL event_scheduler=1;
SET GLOBAL event_scheduler=ON;
或者在my.ini文件中加上event_scheduler=1
或者在啟動命令后加上"-event_scheduler=1"
可以通過如下命令查看是否已開啟事件調度器.
代碼如下:
SHOW VARIABLES LIKE 'event_scheduler';
SELECT @@event_scheduler;
MYSQL學習二、創建
代碼如下:
CREATE EVENT [IF NOT EXISTS] event_name
?ON SCHEDULE schedule
?[ON COMPLETION [NOT] PRESERVE]
?[ENABLE | DISABLE]
?[COMMENT 'comment']
?DO sql_statement;
?
schedule:
?AT TIMESTAMP [+ INTERVAL INTERVAL]
?| EVERY INTERVAL [STARTS TIMESTAMP] [ENDS TIMESTAMP]
?
INTERVAL:
?quantity {YEAR | QUARTER | MONTH | DAY | HOUR | MINUTE |
?WEEK | SECOND | YEAR_MONTH
MYSQL學習event_name:是你要創建的事件名稱
schedule:是執行計劃,有兩個選項,第一是在某一時刻執行,第二是從某時到某時每隔一段時間執行.
INTERVAL:時間間隔,可以精確到秒.
ON COMPLETION [NOT] PRESERVE:結束后是否保存,默認不保存,一旦執行完,事件就被刪除了,因此強烈建議此參數設為 ON COMPLETION PRESERVE.
代碼如下:
ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 5 DAY
MYSQL學習是從現在起5日后執行
代碼如下:
ON SCHEDULE AT TIMESTAMP '2012-03-07 12:00:00'
MYSQL學習在某一具體時刻執行
代碼如下:
ON SCHEDULE EVERY 1 DAY?
STARTS CURRENT_TIMESTAMP + INTERVAL 5 DAY
ENDS CURRENT_TIMESTAMP + INTERVAL 1 MONTH
5天后開始每天執行,一個月后結束
CURRENT_TIMESTAMP可以用具體時間替換,比如'2012-03-06 18:00:00'
代碼如下:
CREATE EVENT `NewEvent`
ON SCHEDULE EVERY 1 MONTH STARTS '2012-04-01 00:00:00' ENDS '2100-01-01 00:00:00'
ON COMPLETION PRESERVE
ENABLE
DO
update tb_test set amount=100 where id=2;;
MYSQL學習這是一個完整的例子.
MYSQL學習三、修改
代碼如下:
ALTER EVENT event_name
?[ON SCHEDULE schedule]
?[RENAME TO new_event_name]
?[ON COMPLETION [NOT] PRESERVE]
?[COMMENT 'comment']
?[ENABLE | DISABLE] [DO sql_statement]
代碼如下:
ALTER EVENT e_test DISABLE;
MYSQL學習關閉e_test事件.
注意,一旦MySQL重啟,Disable的事件將全部消失.
MYSQL學習四、刪除
代碼如下:
DROP EVENT [IF EXISTS] event_name
轉載請注明本頁網址:
http://www.snjht.com/jiaocheng/3571.html