mysql 定時(shí)任務(wù)從5.1版本開(kāi)始引入,又叫做臨時(shí)觸發(fā)器,但是與普通觸發(fā)器不同的是,普通觸發(fā)器是通過(guò)操作數(shù)據(jù)表的每行數(shù)據(jù)而觸發(fā)的事件,而它是通過(guò)時(shí)間點(diǎn)或者時(shí)間周期觸發(fā)
先來(lái)看一下它的語(yǔ)法:
DELIMITER $$
--
SET GLOBAL event_scheduler = ON$$ -- required for event to execute but not create
CREATE
/*
[DEFINER = { user | CURRENT_USER }]
*/
EVENT `event1`
ON
SCHEDULE
/*
uncomment the example below you want to use
*/
--
scheduleexample 1: run once
--
AT 'YYYY-MM-DD HH:MM.SS'/CURRENT_TIMESTAMP { + INTERVAL 1 [HOUR|MONTH|WEEK|DAY|MINUTE|...] }
--
scheduleexample 2: run at intervals forever after creation
--
EVERY 1 [HOUR|MONTH|WEEK|DAY|MINUTE|...]
--
scheduleexample 3: specified start time, end time and interval for execution
/*
EVERY 1 [HOUR|MONTH|WEEK|DAY|MINUTE|...]
STARTS CURRENT_TIMESTAMP/'YYYY-MM-DD HH:MM.SS' { + INTERVAL 1[HOUR|MONTH|WEEK|DAY|MINUTE|...] }
ENDS CURRENT_TIMESTAMP/'YYYY-MM-DD HH:MM.SS' { + INTERVAL 1 [HOUR|MONTH|WEEK|DAY|MINUTE|...] }
*/
/*
[ON COMPLETION [NOT] PRESERVE]
[ENABLE | DISABLE]
[COMMENT 'comment']
*/
DO
BEGIN
(sql_statements)
END
$$
DELIMITER ;
基本上通過(guò)上面的語(yǔ)法說(shuō)明已經(jīng)了解到如何使用了,下面針對(duì)每種方式可以再寫(xiě)個(gè)小栗子
1,在某個(gè)時(shí)間點(diǎn)觸發(fā)(執(zhí)行一次):
DELIMITER $$
CREATE
EVENT `bdhp`.`e_e1`
ON
SCHEDULE
/*
只執(zhí)行一次
*/
/*
AT '2015-02-03 16:07.00'
*//*
某一時(shí)間點(diǎn)
*/
/*
AT '2015-02-03 16:47.20' + INTERVAL 40 second
*//*
某一時(shí)間點(diǎn) + 一段時(shí)間
*/
AT
CURRENT_TIMESTAMP
+
INTERVAL
40
SECOND
/*
當(dāng)前時(shí)間點(diǎn) + 一段時(shí)間
*/
DO
BEGIN
INSERT
INTO
t_sys_log(sn)
VALUES
(
'
55555
'
);
END
$$
DELIMITER ;
2,按周期執(zhí)行,無(wú)限次數(shù)
DELIMITER $$
CREATE
EVENT `e_e2`
ON
SCHEDULE
EVERY
1
MINUTE
DO
BEGIN
INSERT
INTO
t_sys_log(sn)
VALUES
(
'
55555
'
);
END
$$
DELIMITER ;
3,在某一時(shí)間段內(nèi),按周期執(zhí)行(ends 不寫(xiě)則表示從某一時(shí)間點(diǎn)開(kāi)始執(zhí)行)
DELIMITER $$
CREATE
EVENT `e_e3`
ON
SCHEDULE
EVERY
1
SECOND
STARTS
CURRENT_TIMESTAMP
ENDS
'
2015-02-03 16:15.00
'
DO
BEGIN
INSERT
INTO
t_sys_log(sn,
USER_NAME
)
VALUES
(
'
test
'
,
'
ttt-55
'
);
END
$$
DELIMITER ;
?
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061
微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元

