mysql - 更新查询以根据辅助字段从一个表复制到另一个表

标签 mysql sql

我今天更改了表结构并创建了“国家/地区”字段/表,我需要执行更新查询以使所有内容保持一致。

我有数千条记录。自数据库创建以来,CityID 已使用城市查找表中的 ID 填充。作为新字段,CountryID 目前为空。

我已经开始将每个 CityID 与一个 CountryID 相关联。例如,纽约市的 CityID = "25"和美国的 CountryID = "1",因此将这些值输入到 City 表中。

我想追溯更新 Main.CountryID,因此对于 Main.CityID = "25"的任何记录,它应该自动插入 Main.CountryID = 1

这有意义吗?

我的表:

MainID  
Name  
Address etc.  
CityID
CountryID (Empty)

我的城市

CityID  
City  
CountryID

我的国家

CountryID  
Country

对于旷日持久的问题深表歉意,这是漫长的一天......

最佳答案

因为您在 City Table 中有值,所以在与 City Table 连接的基础上更新 Main table 列

试试这个,我希望它能正常工作。

Update t1
   set t1.CountryID = t2.CountryID
   FROM Main AS t1
   INNER JOIN City AS t2 ON t1.CityID = t2.CityID

关于mysql - 更新查询以根据辅助字段从一个表复制到另一个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40372796/

相关文章:

linux - Bash 中的 MySQL 备份脚本

c# - BLToolkit-mysql-connector异常: Could not load file or assembly MySql.数据,版本=6.9.7.0

php - 类别和子类别

mysql - 如何使用 DEFAULT 约束为 mysql 中的列创建随机数?

sql - 如何使用最后插入的 ID 将行插入到另一个表中?

php - SQL查询连接多个表

MySql 逐项推荐性能

MySQL - 关系数据库和标记

sql - 从包含来自单独列的数据的列中选择数据

mysql - 如何构建这个关系数据库