在更新查询中选择查询

时间:2015-10-24 16:48:22

标签: mysql select sql-update

我有两个数据库表,即读数和存档。 如何根据读数表中prevRead列的记录更新存档表中的jan列名称。这是我的疑问:

 $sql_query = "SELECT prevRead FROM readings ";
 $result_set=mysql_query($sql_query);
 while($row=mysql_fetch_row($result_set))
 {
    $sql = "UPDATE archive SET jan = '$row[0]'";
    mysql_query($sql);
 }

例如,我在读数表的prevRead列中有500和200的记录,然后我进行了查询。存档表的jan列中的输出将为200和200.如何使输出500和200.

1 个答案:

答案 0 :(得分:0)

首先,在archive表中添加外键列/字段。例如:reading_id

reading_id将在表readings中保留相同的主键值。通过这种方式,您将知道readings的哪个条目与archive的哪个条目相关。

然后你只需要这样修改代码: (我假设您的readings表的主键是id

$sql_query = "SELECT id, prevRead FROM readings";
$result_set = mysql_query($sql_query);
while($row = mysql_fetch_assoc($result_set))
{
    $sql = "UPDATE archive SET jan = '". $row['prevRead'] ."' WHERE reading_id = '". $row['id'] ."'";
    mysql_query($sql);
}