在系統管理或資料庫管理中,常常要週期性的執行某一個指令或是SQL語句。這時候就會用到mysql事件,使用這個功能必須確保是mysql的版本是5.1以上。
1.首先要查看事件是否開啟了,
SHOW VARIABLES LIKE 'event_scheduler'; SELECT @@event_scheduler; SHOW PROCESSLIST;
星之星sql
2.我們先開啟mysql事件,1,透過動態參數修改:SET GLOBAL event_scheduler = ON;注意:還是要在my.cnf中加入event_scheduler=ON。因為如果沒有增加的話,mysql重啟事件又會回到原來的狀態了。
3.下面我會建立一個測試的資料庫表,
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
建立一個資料庫表格做為測試
4.下面我們建立mysql事件,
CREATE EVENT IF NOT EXISTS test123 ON SCHEDULE EVERY 3 SECOND ON COMPLETION PRESERVE DO INSERT INTO ceshisy(lpname) VALUES(NOW());
執行sql創建mysql事件
5.創建完成以後我們看一次是不是執行了,查看一下資料庫表格
##6.總結一下語法:
DEFINER: 定义事件执行的时候检查权限的用户。 ON SCHEDULE schedule: 定义执行的时间和时间间隔。 ON COMPLETION [NOT] PRESERVE: 定义事件是一次执行还是永久执行,默认为一次执行,即NOT PRESERVE。 ENABLE | DISABLE | DISABLE ON SLAVE: 定义事件创建以后是开启还是关闭,以及在从上关闭。如果是从服务器自动同步主上的创建事件的语句的话,会自动加上DISABLE ON SLAVE。 COMMENT 'comment': 定义事件的注释。
以上是MySQL事件的使用詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!