3

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

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

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

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

4

2 回答 2

6

你可以使用这个:

CREATE EVENT createTest     
ON SCHEDULE EVERY '1' DAY
STARTS CONCAT(DATE(NOW()+INTERVAL 1 DAY ), ' 00:00:00')
DO 
BEGIN
 -- do your task
END
于 2015-03-23T11:40:03.167 回答
5

是的,你可以做到。为此目的使用 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 版本允许)。

于 2012-10-02T06:06:12.243 回答