【问题标题】:How to update data in MySQL periodically? [duplicate]如何定期更新 MySQL 中的数据? [复制]
【发布时间】:2013-01-15 17:36:13
【问题描述】:

可能重复:
Is there an equivalent to cron in Windows?

如何定期更新 MySQL 中的数据?

假设我有桌子。一栏是“日期”。另一列是“Expiry_Status”。

如何定期(几个小时)更新表格,以便如果“日期”列中的日期晚于当前日期,“Expiry_Status”将更新为“是”值。

我使用 WAMP 作为框架。

编辑:感谢您的回答,但你们中的很多人都回答了有关更改数据库架构的问题。我上面给出的案例只是一个简单的例子。我对如何定期更新数据库更感兴趣。即:使用的程序、语法、范例……等等。 再次感谢。

【问题讨论】:

  • 我认为这必须使用编程语言来完成。由于您使用的是 Windows,因此您应该考虑使用任务计划程序来运行一个脚本,该脚本将根据您喜欢的频率更新您的数据库。
  • 您可以设置一个 cron-job / 任务调度程序作业,但您为什么要这样做?任何一个都足够了,同时存储日期和状态会存储重复信息,并且很容易导致数据库中的不一致。

标签: php mysql database wamp


【解决方案1】:

您编写一个程序来执行更新,然后使用调度系统运行它。

在 Windows 上(因为您标记了问题 WAMP),这通常使用 Task Scheduler 完成。

其他操作系统通常使用cron

虽然更改状态列是多余的。您可以搜索到期时间大于 NOW() 的数据,而不是状态为 Yes 的数据。这种定时脚本一般在删除旧数据时使用。

【讨论】:

    【解决方案2】:

    编写一个 php 脚本来检查时间并适当地更新,然后使用windows task scheduler 以一定的时间间隔运行它们。 (假设windows操作系统...)

    【讨论】:

      【解决方案3】:

      拥有这个expiry_status 有什么价值?如果您在该日期/日期时间字段中有索引(无论如何您都需要有效地更新expiry_status 字段),您可以轻松地查询...

      WHERE `date` > NOW()
      

      ...为了确定活动记录。无论如何,这实际上就是您将要使用这个提议的更新查询所做的所有事情。如果不需要,为什么还要维护一个额外的字段?

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-09-16
        • 1970-01-01
        • 2012-06-09
        • 2021-03-23
        • 2019-01-07
        • 2020-07-17
        • 1970-01-01
        • 2013-01-28
        相关资源
        最近更新 更多