MySQL事件
一、什么是事件
一组SQL集,用来执行定时任务,跟触发器很像,都是被动执行的,事件是因为时间到了触发执行,而触发器是因为某件事件(增删改)触发执行;
二、如何开启事件
查看事件是否开启:show variables like 'event_scheduler'; 开启事件:SET GLOBAL event_scheduler = ON; SET @@global.event_scheduler = ON; SET GLOBAL event_scheduler = 1; SET @@global.event_scheduler = 1; 关闭事件:SET GLOBAL event_scheduler = OFF; SET @@global.event_scheduler = OFF; SET GLOBAL event_scheduler = 0; SET @@global.event_scheduler = 0;
三、如何创建事件
时间间隔触发该事件 CREATE EVENT event_users ON SCHEDULE EVERY 1 MINUTE DO INSERT INTO users (`id`,`name`,`danasty`,`saying`,`createdate`) VALUES(NULL,'刘备','三国','中山靖王之后', NOW()); 特定时间触发该事件 CREATE EVENT event_users2 ON SCHEDULE AT '2020-12-06 20:17:20' DO INSERT INTO users (`id`,`name`,`danasty`,`saying`,`createdate`) VALUES(NULL,'刘秀','汉朝','开创西汉帝国', NOW());
四、查看事件
查看当前所在数据库的事件:SHOW EVENTS; SHOW PROCESSLIST; 查看数据库中所有的事件:SELECT * FROM mysql.event;