先來(lái)看一下它的語(yǔ)法:
CREATE EVENT [IF NOT EXISTS] event_name ON SCHEDULE schedule [ON COMPLETION [NOT] PRESERVE] [ENABLE | DISABLE] [COMMENT ‘comment’] DO sql_statement / call proce() ; –這可以是sql語(yǔ)句或 call 存儲(chǔ)過(guò)程名() schedule: AT TIMESTAMP [+ INTERVAL INTERVAL] | EVERY INTERVAL [STARTS TIMESTAMP] [ENDS TIMESTAMP] INTERVAL: quantity {YEAR | QUARTER | MONTH | DAY | HOUR | MINUTE | WEEK | SECOND | YEAR_MONTH 以上比較官方,我們通過(guò)一個(gè)例子來(lái)直觀的理解一下:
首先創(chuàng)建一個(gè)測(cè)試test表格 CREATE TABLE IF NOT EXISTS test( id INT PRIMARY KEY AUTO_INCREMENT, message VARCHAR(255) NOT NULL, created_at DATETIME NOT NUL);使用SQL語(yǔ)句創(chuàng)建事件 CREATE EVENT IF NOT EXISTS test_event_01 ON SCHEDULE AT CURRENT_TIMESTAMP DO INSERT INTO test(message,created_at) VALUES(‘測(cè)試MySQL事件執(zhí)行(1)’,NOW()); 此時(shí)刷新測(cè)試表就會(huì)出現(xiàn)插入了一條數(shù)據(jù),這只是利用事件執(zhí)行了一次我們來(lái)試著讓它自動(dòng)執(zhí)行多次以下語(yǔ)句創(chuàng)建每隔一分鐘執(zhí)行一次并且在創(chuàng)建時(shí)間后1小時(shí)內(nèi)過(guò)期的重復(fù)事件:CREATE EVENT test_event_03 ON SCHEDULE EVERY 1 MINUTE STARTS CURRENT_TIMESTAMP ENDS CURRENT_TIMESTAMP + INTERVAL 1 HOUR DO INSERT INTO test(message,created_at) VALUES(‘測(cè)試MySQL重復(fù)事件’,NOW());
當(dāng)然可以通過(guò)這些方法來(lái)仔細(xì)去體會(huì)每個(gè)參數(shù)的用法,建議使用數(shù)據(jù)庫(kù)圖形化工具來(lái)創(chuàng)建事件會(huì)簡(jiǎn)單很多,因?yàn)楣ぞ邥?huì)利用圖形化的方式幫助我們創(chuàng)建各種我們所需參數(shù),希望可以幫助大家。
新聞熱點(diǎn)
疑難解答
圖片精選