gpt4 book ai didi

mysql - 如何通过连接mysql中的两个表来更新

转载 作者:行者123 更新时间:2023-11-29 08:27:23 25 4
gpt4 key购买 nike

我有3张 table

  1. iata_en 表 3 列(city_name、country_name、iata_code)
  2. d_cities 表 3 列(city_name、country_id、iata_code)
  3. d_country 表 2 列(country_id、country_name)

我想将 iata_code 列从表 iata_en 复制到 d_citites 表,其中 (iata_en.cityname=d_cities.cityname)and iata_en.countryname = d_cities.country_name)

  • 所以我用外键加入了 d_cities 和 d_country 来获取国家/地区名称。

我编写了这段代码,但它不起作用

UPDATE d_cities
SET iata_code=iata_en.iata_code
FROM iata_en,d_cities as ci
INNER JOIN d_country as co
ON ci.CountryID=co.CountryID
WHERE iata_en.city_name=ci.city
AND iata_en.country_name=co.country

最佳答案

所有表引用都必须在 UPDATE 子句中指定,即使您实际上并未更新它们。

UPDATE
d_cities
JOIN d_country USING (CountryID)
JOIN iata_en ON (
city_name = city
AND country_name = country
)
SET
d_cities.iata_code = iata_en.iata_code

关于mysql - 如何通过连接mysql中的两个表来更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17569764/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com