繁体   English   中英

更改事件并将结尾设置为null

[英]Alter event and set ends to null

嘿,我创建了一个在特定时间戳记结束的事件,并希望将其更改为无限期运行。

我尝试运行:

ALTER EVENT event_name 
ON SCHEDULE EVERY '5' MINUTE 
STARTS '2013-10-21 14:49' ENDS NULL 
ON COMPLETION PRESERVE ENABLE    DO [code];

但是我收到了错误代码Error Code:1543。ENDS无效或在STARTS之前

如何才能做到这一点? 我知道我可以在不远的将来设置一个日期,但是我想将ENDS设置为null。

如果我简单地排除ENDS参数,它将陷入旧的结束日期,那么当您: select * from information_schema.events时,您会看到这样,但是事件的确像ENDS为null一样继续运行。 这主要是我需要实现的目标。

我相信ENDS参数是可选的,否则您可以指定将来的日期。 ENDS必须加上时间戳。

EVERY子句可以包含可选的ENDS子句。 ENDS关键字后跟一个时间戳值,该值告诉MySQL事件何时应停止重复 您也可以将+ INTERVAL间隔与ENDS一起使用; 例如,每12小时开始CURRENT_TIMESTAMP +间隔30分钟结束CURRENT_TIMESTAMP +间隔4周,相当于“每12个小时,从现在开始30分钟,从现在开始4周结束”。 不使用ENDS意味着事件将无限期继续执行。

ENDS支持与STARTS相同的复杂时间单位语法。

您可以在EVERY子句中同时使用STARTS和ENDS,或两者都不使用。

http://dev.mysql.com/doc/refman/5.1/en/create-event.html

您唯一的选择(也是解决方法)是重新创建事件( http://bugs.mysql.com/bug.php?id=39173 )。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM