使用时间戳从一个表值更新另一个表

时间:2015-12-02 19:51:06

标签: php mysql

我正在尝试更新名为" Orders"当另一个表上的一行(称为" store")超过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;

?>

1 个答案:

答案 0 :(得分:1)

如果表位于同一个数据库中,只需在WHERE子句中使用子选择,如下所示:MYSQL UPDATE with IN and Subquery

否则将ID聚合到一个数组中,并在WHERE子句中将它们与implode连接起来。不要忘记引用每个ID。

此外,尝试仅选择所需的列(unique_id),而不是一次性选择(*)。