当另一个表(称为"商店")上的行超过30天时,我正在尝试更新一个名为"订单"的表。
当"存储"上的值被创建时,它会被赋予一个添加到表中的时间戳。但是,一旦该值超过30天,我就需要它来获取该单元格的ID(这是一个每行具有唯一ID的列),并在名为"orders"的表中检查该ID,并更新该ID所在的另一列。
到目前为止,我已经写了这篇文章,但它显然是错误的:
<?php
include ('connectdb.php');
$query = $db->query("SELECT * FROM store WHERE open_time < (NOW()- INTERVAL 30 DAYS)");
$update = $db->prepare("UPDATE orders SET notified=-1 WHERE unique_id=$query");
$db = null;
?>
如果表在同一个数据库上,只需在WHERE子句中使用一个子select,如下所示:MYSQL UPDATE with in和Subquery
否则,将ID聚合到一个数组中,并在WHERE子句中用内爆连接它们。别忘了引用每个ID。
此外,请尝试只选择所需的列(unique_id),而不是一次选择所有列(*)。