如何定期更新MySQL中的数据?
说我有桌子。一列是“日期”。另一栏是“Expiry_Status”。
如何定期(几个小时)更新表格,如果“日期”栏中的日期在当前日期之后,“Expiry_Status”将更新为“是”值。
我使用WAMP作为框架。
编辑:感谢您的回答,但很多人都给出了有关更改数据库架构的答案。我上面给出的案例只是一个简单的例子。我对如何定期更新数据库更感兴趣。即:使用的程序,语法,范例......等。 再次感谢。
答案 0 :(得分:1)
您编写了一个程序来执行更新,然后使用计划系统运行它。
在Windows上(因为您标记了问题WAMP),通常使用Task Scheduler来完成。
其他操作系统通常使用cron。
更改状态列是多余的。您可以搜索到期时间大于NOW()的数据,而不是状态为Yes的数据。通常在删除旧数据时使用这种预定脚本。
答案 1 :(得分:1)
编写一个php脚本,检查时间并适当更新,然后使用windows task scheduler以特定间隔运行它们。 (假设windows os ...)
答案 2 :(得分:1)
这个expiry_status
甚至可以提供什么价值?如果您在该日期/日期时间字段中有索引(无论如何您需要有效地更新expiry_status
字段),您可以轻松查询...
WHERE `date` > NOW()
...以确定有效记录。实际上,无论如何,您将要使用此建议的更新查询。如果你不需要,为什么要保留额外的字段?