我有一个 mysql 事件,它将每 1 天执行一次并进行一些活动。请找到相同的代码片段。
delimiter |
CREATE EVENT createTest
ON SCHEDULE EVERY 1 DAY
DO
BEGIN
-- Do some work
END |
delimiter ;
当我创建此事件时,它在同一天的同一时间执行。第二天执行(最后执行 + 24 小时)方案。
是否可以在活动中设置开始时间?我想在每天 0 小时执行此事件?
你可以使用这个:
CREATE EVENT createTest
ON SCHEDULE EVERY '1' DAY
STARTS CONCAT(DATE(NOW()+INTERVAL 1 DAY ), ' 00:00:00')
DO
BEGIN
-- do your task
END
是的,你可以做到。为此目的使用 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 版本允许)。