Select 更新查询中的查询
Select query inside an update query
我有两个数据库table 即读数和存档。
如何根据读数 table 中 prevRead 列的记录更新存档 table 中的 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的记录table然后我做了查询。存档 table 的 jan 列中的输出将是 200 和 200。如何使输出成为 500 和 200。
首先在archive
table中添加一个外键column/field。例如:reading_id
.
此 reading_id
将在 table readings
中保存相同的主键值。通过这种方式,您将知道 readings
的哪个条目与 archive
.
的哪个条目相关
那么你只需要这样修改代码:
(我假设你的 readings
table 的主键是 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);
}
我有两个数据库table 即读数和存档。 如何根据读数 table 中 prevRead 列的记录更新存档 table 中的 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的记录table然后我做了查询。存档 table 的 jan 列中的输出将是 200 和 200。如何使输出成为 500 和 200。
首先在archive
table中添加一个外键column/field。例如:reading_id
.
此 reading_id
将在 table readings
中保存相同的主键值。通过这种方式,您将知道 readings
的哪个条目与 archive
.
那么你只需要这样修改代码:
(我假设你的 readings
table 的主键是 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);
}