【问题标题】:Execute MySQL event in two dates在两个日期执行 MySQL 事件
【发布时间】:2016-10-04 20:05:27
【问题描述】:

我有一个 MySQL 事件,工作正常,所以这不是我的问题,这里的问题是我想执行那个事件 on month n/5th/year n and on month n/19th/year n 例如on 10/4/2016 and then on 10/19/2016 可以在一个事件中结合两个日期吗?如果没有,有什么解决办法?

我正在考虑这个选项:

1- 每个月创建 2 个事件,一个在第 5 天,另一个在 19 日。

抱歉没有发布代码,但这不是代码问题。

【问题讨论】:

  • 你的问题有点混乱。您可以使用 if 语句创建一个事件,该语句通过检查 curdate() 来包装块
  • 我不知道如何更好地解释它,但你的意见可能是我理解的解决方案,只是我不太清楚如果我使用 if 语句应该是我执行的时间间隔活动?
  • 身份证。也许您希望它每天中午开始检查。如果是这样,使用 This 将是 12:00:00 而不是 00:00:00 。确保您尊重ON COMPLETION PRESERVE
  • 那是我的问题来的时刻,我不想每天都执行该事件,我想知道是否可以执行此事件,例如在 10 月 4 日和 10 月 19 日,如你可以看到我认为一个选项可以创建 2 个不同的事件,1 个用于第 4 天,另一个用于第 19 天
  • 换句话说,无事可做。专注于更大的问题:p

标签: mysql


【解决方案1】:

您可以使用 crontab 为您可能的日期/时间执行事件。 Crontab 接受 5 个参数来设置执行日期/时间。

* * * * *  YOUR_COMMAND_TO_EXECUTE

这里每个 * 都是 Contab 的单个参数。

* --> min (0 - 59)
* --> hour (0 - 23)
* --> day of month (1 - 31)
* --> month (1 - 12)
* --> day of week (0 - 6) (0 to 6 are Sunday to Saturday, or use names; 7 is also Sunday)

示例

# For example, you can run a backup of all your user accounts
# at 5 a.m every week with:
0 5 * * 1 tar -zcf /var/backups/home.tgz /home/

这里是关于 crontab Overview

的详细信息

【讨论】:

  • MySQL 内置了他们的事件框架(高概述 sn-ps here )用于消除cron 的确切目的
  • 也就是说,平心而论,在许多托管环境中,只有 cron 可用(不能被滥用,例如,在 15 分钟内不能触发超过 1 个,否则您的帐户会被冻结)。并且事件被完全关闭,以限制任何一个主机消耗服务器
  • 感谢您提前@Drew
猜你喜欢
  • 2022-11-19
  • 1970-01-01
  • 1970-01-01
  • 2021-05-09
  • 1970-01-01
  • 1970-01-01
  • 2019-08-05
  • 2016-11-19
  • 1970-01-01
相关资源
最近更新 更多