mysql里创建定时任务(event)

创建一个每秒都修改qiye表数据的定时任务, EVERY 1 SECOND STARTS '2020-05-15 11:38:00'   表示的是从2020-02-15 11:38:00开始以每秒钟都执行该时间。SECOND可以换成day,minutes,month,year等,BEGIN下面的就是具体要执行的代码(一般都会调用一个存储过程  CALL 存储过程名)

DELIMITER ||  
DROP EVENT IF EXISTS `test_event` ||
  CREATE EVENT test_event
           ON SCHEDULE  
           EVERY 1 SECOND STARTS '2020-05-15 11:38:00'   
           DO  
        BEGIN  
  
            update changsha.qiye set mingcheng='yanghuan',riqi=FROM_UNIXTIME(UNIX_TIMESTAMP(),'%Y-%m-%d %H:%i:%s') where id=2;
         
  END ||  
 DELIMITER ; 

问题:

1.可能很多人成功执行了上面的语句,但是发现每秒钟并没有执行BEGIN后的sql语句。这是因为mysql默认是不开启该功能的,需要修改mysql的配置文件,在mysqld下加入event_scheduler=1,重启mysql,进入到mysql中执行SHOW VARIABLES LIKE 'event_scheduler';发现是ON才算开启

mysql里创建定时任务(event)_第1张图片

 

 

 

 

你可能感兴趣的:(mysql笔记)