MySQL中怎么實(shí)現(xiàn)定時(shí)執(zhí)行,針對(duì)這個(gè)問題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問題的小伙伴找到更簡(jiǎn)單易行的方法。
創(chuàng)新互聯(lián)建站主要從事網(wǎng)站設(shè)計(jì)制作、網(wǎng)站設(shè)計(jì)、網(wǎng)頁(yè)設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)富川,十年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來(lái)電咨詢建站服務(wù):028-86922220
5.1版本以后,MYSQL支持定時(shí)執(zhí)行(event)的功能,就跟linux的crontab差不多。
先查看一下你的MSYQL版本,查詢版本信息的SQL語(yǔ)句:
select VERSION()
確定版本支持之后,再查看一下event是否開啟:
show variables like ’%sche%’;
如果未開啟,那如何開啟呢?
show VARIABLES LIKE ’%sche%’;
set global event_scheduler =1;
show VARIABLES LIKE ’%sche%’;
一般定時(shí)執(zhí)行有2種:
1、從具體一個(gè)時(shí)間點(diǎn)開始,每隔一段時(shí)間執(zhí)行一次;
從現(xiàn)在開始,每30秒執(zhí)行一次
create event if not exists e_test
on schedule every 30 second starts now()
on completion preserve
do
INSERT into sdb_yoyi (yoyiscid,orderid) VALUES(2,3)
2、從具體一個(gè)時(shí)間點(diǎn)開始,在當(dāng)日的某個(gè)時(shí)間點(diǎn)進(jìn)行執(zhí)行;
每個(gè)月的一號(hào)凌晨1點(diǎn)執(zhí)行
create event if not exists e_test2
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
do
INSERT into sdb_yoyi (yoyiscid,orderid) VALUES(2,3)
也可以對(duì)事件任務(wù)進(jìn)行關(guān)閉:
alter event e_test ON
COMPLETION PRESERVE DISABLE;
對(duì)已經(jīng)關(guān)閉的事件任務(wù)進(jìn)行開啟:
alter event e_test ON
COMPLETION PRESERVE ENABLE;
關(guān)于mysql中怎么實(shí)現(xiàn)定時(shí)執(zhí)行問題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識(shí)。