MySQL事件的使用詳細(xì)說明
發(fā)表時(shí)間:2023-07-25 來源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]在系統(tǒng)管理或者數(shù)據(jù)庫管理中,經(jīng)常要周期性的執(zhí)行某一個(gè)命令或者SQL語句。這個(gè)時(shí)候就會(huì)用到mysql事件,使用這個(gè)功能必須保證是mysql的版本是5.1以上。1.首先要查看事件是否開啟了,SHOW V...
在系統(tǒng)管理或者數(shù)據(jù)庫管理中,經(jīng)常要周期性的執(zhí)行某一個(gè)命令或者SQL語句。這個(gè)時(shí)候就會(huì)用到mysql事件,使用這個(gè)功能必須保證是mysql的版本是5.1以上。
1.首先要查看事件是否開啟了,
SHOW VARIABLES LIKE 'event_scheduler';
SELECT @@event_scheduler;
SHOW PROCESSLIST;
之星sql
2.我們先開啟mysql事件,1,通過動(dòng)態(tài)參數(shù)修改:SET GLOBAL event_scheduler = ON;注意:還是要在my.cnf中添加event_scheduler=ON。因?yàn)槿绻麤]有添加的話,mysql重啟事件又會(huì)回到原來的狀態(tài)了。
3.下面我創(chuàng)建一個(gè)測(cè)試的數(shù)據(jù)庫表,
CREATE TABLE `test` (
`ID` int(11) NOT NULL AUTO_INCREMENT,
`lpnam` datetime DEFAULT NULL,
PRIMARY KEY (`id`))
ENGINE=InnoDB
AUTO_INCREMENT=106
DEFAULT CHARSET=utf8
創(chuàng)建一個(gè)數(shù)據(jù)庫表做為測(cè)試
4.下面我們創(chuàng)建mysql事件,
CREATE EVENT IF NOT EXISTS test123 ON SCHEDULE EVERY 3 SECOND
ON COMPLETION PRESERVE
DO INSERT INTO ceshisy(lpname) VALUES(NOW());
執(zhí)行sql創(chuàng)建mysql事件
5.創(chuàng)建完成以后我們看一次是不是執(zhí)行了,查看一下數(shù)據(jù)庫表
6.總結(jié)一下語法:
DEFINER: 定義事件執(zhí)行的時(shí)候檢查權(quán)限的用戶。
ON SCHEDULE schedule: 定義執(zhí)行的時(shí)間和時(shí)間間隔。
ON COMPLETION [NOT] PRESERVE: 定義事件是一次執(zhí)行還是永久執(zhí)行,默認(rèn)為一次執(zhí)行,即NOT PRESERVE。
ENABLE DISABLE DISABLE ON SLAVE: 定義事件創(chuàng)建以后是開啟還是關(guān)閉,以及在從上關(guān)閉。如果是從服務(wù)器自動(dòng)同步主上的創(chuàng)建事件的語句的話,會(huì)自動(dòng)加上DISABLE ON SLAVE。
COMMENT 'comment': 定義事件的注釋。
以上就是MySQL事件的使用詳解的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注php中文網(wǎng)其它相關(guān)文章!
學(xué)習(xí)教程快速掌握從入門到精通的SQL知識(shí)。