是否可以创建每周末开始的mysql事件。 它应该每周五晚上7点开始,在1小时的间隔内执行,并在每个星期五凌晨5点结束。 (查询更新cron进程每分钟读取一次的表)
似乎mysql事件“ENDS”只是绝对时间。此外,似乎无法创建能够禁用或撤消其他事件的EVENT。所以,它看起来像mysql事件限制,我可能必须结合mysql事件和cron进程来处理“ENDS”。
任何帮助都将不胜感激。
答案 0 :(得分:1)
我想到了两种方法:
将您的活动设置为每小时运行一次。在你的活动体内放一个丑陋的IF。
SELECT @dow := dayofweek(NOW())
, @oclock := hour(NOW());`
IF (@dow = 6 AND @oclock >= 19)
OR (@dow = 7)
OR (@dow = 1 AND @oclock <= 5) THEN
-- run your code here
END IF;
使用多个事件来实现它。例如:
a)您的第一个活动每周五19:00运行;
b)它创建一个每小时运行一次的事件,从CURRENT_TIMESTAMP开始,到CURRENT_TIMESTAMP结束+你需要的小时数。