以前在oracle里面可以启job跑数,后来我们数据库迁移到云上了,数据库变成了MySQL,MySQL现在也是支持定时任务的,在MySQL里面叫做event。MySQL有四种可编程对象——函数,存储过程,触发器,事件。
在创建之前需要看MySQL是否支持事件 show variables like
'event_scheduler';
如果不执行,需要设置一下。set
global
event_scheduler =
ON
;
创建事件就如创建语句类似。例如我要创建一个定时每天跑的任务如果:
CREATE EVENT `EVENTNAME` on schedule every 1 day starts '开始时间'
do
//具体做什么;
我原本想在这样的事件里面做执行多条数据,发现好像不行,而且复杂的逻辑好像也不支持。于是我就在do 里面调用存储过程 call procedure(); 在存储过程里面写具体的逻辑。