Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 到达日期时自动更新表格_Php_Mysql - Fatal编程技术网

Php 到达日期时自动更新表格

Php 到达日期时自动更新表格,php,mysql,Php,Mysql,我有一个包含3列的表: id int, deadline timestamp, state bool 插入记录时,我将状态设置为true。此表将有许多具有不同截止日期的记录。当截止日期达到当前日期时,我需要将状态设置为false 我曾想过创建一个每秒执行一次的进程来更新表,但在我看来,这将是一个沉重的过程(cron) 另一种方法是使用触发器,该触发器将在每次访问此表时执行 哪种方法最好?你知道吗 请告诉我怎么做。提前感谢。在我看来,您应该用PHP来处理,而不是在数据

我有一个包含3列的表:

id      int,
deadline    timestamp,
state       bool
插入记录时,我将状态设置为true。此表将有许多具有不同截止日期的记录。当截止日期达到当前日期时,我需要将状态设置为false

我曾想过创建一个每秒执行一次的进程来更新表,但在我看来,这将是一个沉重的过程(cron)

另一种方法是使用触发器,该触发器将在每次访问此表时执行

哪种方法最好?你知道吗


请告诉我怎么做。提前感谢。

在我看来,您应该用PHP来处理,而不是在数据库中。换句话说,您应该只在调用记录时检查它,并在必要时进行更改。但不要尝试更新整个表。这将杀死你的服务器。最好的方法(imo)是去掉这个标志。然后以某种方式构造查询,使它们自己计算状态,而不是
其中state=true
。在这种情况下,为了检索截止日期后的所有行,请通过
选择它们,其中截止日期
实际上,作为示例,船旗国将有更多的状态为true或false。它可以是活动的、不活动的、挂起的等等。