创建一个每秒都修改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才算开启