如何在未来日期更新MySQL表值


How can I update MySQL table value on Future Date?

我只是想在这个问题上寻找一些大致的方向。基本上,我将日期设置为mysql数据库的参数之一。该日期是为将来某个日期设置的,从设置该值开始。当到达未来的日期时,我想更新某个表值。我该怎么做?

此外,作为一个相关的问题,我如何设置脚本来检查日期并自动更新表?我可以使用PHP脚本吗?还是必须设置一些复杂的cron作业才能每天运行?

您用第二个问题回答了第一个问题。您可以使用一个脚本来检查日期并更新表。

是的,您需要使用cron,但它不需要很复杂。Cron可以运行php脚本(在cli模式下)。您也可以让cron启动curlwget,并让它们直接在Web服务器上运行php。

实际上,你还有另一个选择——每次你在网站上做某种操作(你需要决定哪种操作最合适)时,它也会运行更新命令。

当未来的日期到达时,我想更新某个表值

为什么不直接编写代码,根据日期选择合适的值,例如

 SELECT IF(activation_date<NOW(), old_value, new_value) AS value
 FROM yourTable
 WHERE...

对于这两种情况,您都需要设置一个cron作业(但不一定很复杂)。根据应用程序的不同,您可能会决定在发出某种请求时进行更新。例如,假设未来的数据是奖金金额的有效性,每当特定用户登录时,您都会进行检查,并在到达日期时使奖金金额无效。如果真的有必要立即进行更改,那么cron工作就是最好的选择。

这一切都取决于应用程序及其范围。