mySQL事件替代方案

时间:2016-05-22 23:47:56

标签: mysql events phpmyadmin

我正在使用主机gator共享主机方案,并且需要每分钟执行一个简单的命令:

UPDATE table_info SET expired = 1 WHERE TIMESTAMP(dateTime) <= NOW()

我的问题是我无法打开事件调度程序,因为我没有权限。有没有人能想到一个简单的方法来做到这一点而不使用事件?

2 个答案:

答案 0 :(得分:0)

您可以将更新语句放入简单的PHP脚本中,然后通过cron。

运行它

答案 1 :(得分:0)

使用cron或任何其他基于操作系统的任务调度程序严格地说这个问题的答案。

然而,每分钟运行任何事件并不是最佳做法。特别是,如果完成的操作可以在运行中执行,就像这里一样。过期标志的值取决于简单的计算:

dateTime <= NOW()

而不是在整个table_info上每分钟运行一次这个计算,你可以

  1. 将sql命令放入定期执行的脚本中
  2. 只是将逻辑嵌入任何依赖于过期字段的报告或其他操作中,并完全摆脱该标志。