Rumah > pangkalan data > tutorial mysql > MySQL事件的使用详解

MySQL事件的使用详解

黄舟
Lepaskan: 2017-08-01 17:14:08
asal
4693 orang telah melayarinya

在系统管理或者数据库管理中,经常要周期性的执行某一个命令或者SQL语句。这个时候就会用到mysql事件,使用这个功能必须保证是mysql的版本是5.1以上。

1.首先要查看事件是否开启了,

SHOW VARIABLES LIKE 'event_scheduler';
SELECT @@event_scheduler;
SHOW PROCESSLIST;
Salin selepas log masuk

之星sql

1.png

2.我们先开启mysql事件,1,通过动态参数修改:SET GLOBAL event_scheduler = ON;注意:还是要在my.cnf中添加event_scheduler=ON。因为如果没有添加的话,mysql重启事件又会回到原来的状态了。

2.png

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
Salin selepas log masuk

创建一个数据库表做为测试

3.png

4.下面我们创建mysql事件,

CREATE EVENT IF NOT EXISTS test123 ON SCHEDULE EVERY 3 SECOND
ON COMPLETION PRESERVE
DO INSERT INTO ceshisy(lpname) VALUES(NOW());
Salin selepas log masuk

执行sql创建mysql事件

4.png

5.创建完成以后我们看一次是不是执行了,查看一下数据库表

5.png

6.总结一下语法:

DEFINER: 定义事件执行的时候检查权限的用户。
ON SCHEDULE schedule: 定义执行的时间和时间间隔。
ON COMPLETION [NOT] PRESERVE: 定义事件是一次执行还是永久执行,默认为一次执行,即NOT PRESERVE。
ENABLE | DISABLE | DISABLE ON SLAVE: 定义事件创建以后是开启还是关闭,以及在从上关闭。如果是从服务器自动同步主上的创建事件的语句的话,会自动加上DISABLE ON SLAVE。
COMMENT 'comment': 定义事件的注释。
Salin selepas log masuk


Atas ialah kandungan terperinci MySQL事件的使用详解. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan