Mysql Events 执行开始时间

adk*_*dia 3 mysql events

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

delimiter |    
CREATE EVENT createTest     
ON SCHEDULE EVERY 1 DAY 
DO
BEGIN
  -- Do some work
END |
delimiter ;
Run Code Online (Sandbox Code Playgroud)

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

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

小智 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
Run Code Online (Sandbox Code Playgroud)


Dev*_*art 5

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

CREATE EVENT event1
ON SCHEDULE EVERY '1' DAY
STARTS '2012-10-03 00:00:00'
DO 
BEGIN
 -- do something
END
Run Code Online (Sandbox Code Playgroud)

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


对于@spt -

CREATE EVENT event1
    ON SCHEDULE EVERY '1' YEAR
    STARTS '2016-04-01 00:00:00'
    DO 
BEGIN
END
Run Code Online (Sandbox Code Playgroud)

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