Mysql事件执行开始时间

时间:2012-10-02 06:02:51

标签: mysql events

我有一个mysql事件,它将每1天执行一次并执行一些活动。请查找相同的代码段。

delimiter |    
CREATE EVENT createTest     
ON SCHEDULE EVERY 1 DAY 
DO
BEGIN
  -- Do some work
END |
delimiter ;

当我创建此事件时,它会在同一天执行相同的时间。第二天它执行(最后执行+ 24小时)方案。

是否可以在事件中设置开始时间?我想每天0小时执行这个事件?

2 个答案:

答案 0 :(得分:2)

是的,你可以做到。为此目的使用STARTS选项。

CREATE EVENT event1
ON SCHEDULE EVERY '1' DAY
STARTS '2012-10-03 00:00:00'
DO 
BEGIN
 -- do something
END

请注意,事件开始日期时间必须是将来。


对于@spt -

CREATE EVENT event1
    ON SCHEDULE EVERY '1' YEAR
    STARTS '2016-04-01 00:00:00'
    DO 
BEGIN
END

此外,如果很难创建和设置事件对象,您可以在dbForge Studio for MySQL中使用GUI事件对象编辑器(免费的Express版本允许它)。

答案 1 :(得分:2)

您可以使用:

CREATE EVENT createTest     
ON SCHEDULE EVERY '1' DAY
STARTS CONCAT(DATE(NOW()+INTERVAL 1 DAY ), ' 00:00:00')
DO 
BEGIN
 -- do your task
END