是否可以创建每个周末开始的 mysql 事件。它应该在每个星期五晚上 7 点开始,每隔 1 小时执行一次,并在每个星期一早上 5 点结束。(查询更新 cron 进程每分钟读取的表)
似乎mysql事件“ENDS”只是绝对时间。此外,似乎不可能创建会禁用或删除另一个事件的事件。
所以,它看起来像 mysql 事件限制,我可能必须结合 mysql 事件和 cron 进程来处理“ENDS”。
任何帮助,将不胜感激。
是否可以创建每个周末开始的 mysql 事件。它应该在每个星期五晚上 7 点开始,每隔 1 小时执行一次,并在每个星期一早上 5 点结束。(查询更新 cron 进程每分钟读取的表)
似乎mysql事件“ENDS”只是绝对时间。此外,似乎不可能创建会禁用或删除另一个事件的事件。
所以,它看起来像 mysql 事件限制,我可能必须结合 mysql 事件和 cron 进程来处理“ENDS”。
任何帮助,将不胜感激。
我想到了两种方法:
将您的活动设置为每小时运行一次。在事件主体中放置一个丑陋的 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 + 您需要的小时数结束。