我们可以编写一个代码,在数据库中的2天后自动将状态从0更改为1吗?

时间:2011-08-03 06:12:28

标签: php mysql

我有一个数据库表,列'status',默认值为0。 2天后,该值将更新为1。 我们可以在msql或php中自动完成吗? 或者我们应该在登录时更新表格还是类似的?

4 个答案:

答案 0 :(得分:1)

您可以使用cron调用php脚本来完成此操作。有windows,linux和其他操作系统的cron版本。 php脚本可以直接修改DB或调用将修改您的条目的存储过程。

对于纯PHP解决方案,您可以使用sleep函数两天,记得将max_execution_time设置为无限制,尽管似乎睡眠时间不包括在内。这个解决方案被认为是非常不可取的。

答案 1 :(得分:0)

最可靠的方式是cronjob。另一种不太可靠的方法是在你已经说过的某些动作上执行脚本。我建议选择第一个选项。如果您不能并选择第二个选项,请记住,在两天之后,没有100%保证该值将被完全更改。偏移实际上取决于该动作的执行频率。

答案 2 :(得分:0)

创建数据库中的条目时,是否有一些日期或时间戳?如果你有,你可以检查一下,看看它是否超过两天 - 如果是,请说状态为1.

答案 3 :(得分:0)

有两种方法可以做到这一点。

  1. 服务器端:使用cron job(* nix),安排任务(窗口)来执行PHP或SQL脚本。

  2. 客户端:使用相同的方式:cron job(* nix),安排任务(窗口)但在监控计算机上运行PHP链接以检查

  3. 希望这有帮助:D