我有一个mysql事件,它将每1天执行一次并执行一些活动。请查找相同的代码段。
delimiter |
CREATE EVENT createTest
ON SCHEDULE EVERY 1 DAY
DO
BEGIN
-- Do some work
END |
delimiter ;
当我创建此事件时,它会在同一天执行相同的时间。第二天它执行(最后执行+ 24小时)方案。
是否可以在事件中设置开始时间?我想每天0小时执行这个事件?
答案 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