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;
posted @ 2021-03-07 20:39  悬崖上的金鱼  阅读(483)  评论(0)    收藏  举报