从一个sql表搜索并插入到另一个

时间:2018-07-30 10:58:41

标签: php mysql 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

谢谢

1 个答案:

答案 0 :(得分:0)

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

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