首页 > 解决方案 > 从一个 sql 表中搜索并插入到另一个

问题描述

我有一个名为 places 的表,它有 200 万条记录。在这些记录中有一个名为city_name的列。

在另一个表中,我有 2 列:city_namecity_id.

我的目标是使用表格位置搜索表格城市,city_name并将相应city_id的表格城市插入表格位置。

我尝试使用以下内容:

UPDATE places
INNER JOIN cities USING (city_name)
SET places.city_id = cities.city_id

这个问题是它已经工作了,但是我在city_id与城市名称不匹配的字段中有随机的 city_id。

我还应该提到,表城市中可能没有相应的城市名称,所以我想忽略不存在的记录。

任何人都可以帮忙吗?我正在使用 phpmyadmin

谢谢

标签: phpmysqlsql

解决方案


如果我正确理解您的要求,解决方案将是

UPDATE places
SET places.city_id = (SELECT cities.city_id
                      FROM cities
                      WHERE cities.city_name = places.city_name)

推荐阅读