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事件的使用详解的详细内容。
