将记录从一个表更新到其他MySQL非唯一列

时间:2012-05-03 00:52:40

标签: mysql

我在两个数据库中有两个表。数据库1,名为db1,具有表地址。数据库2,名称为db2,具有表县。

结构如下:

地址:

_id | address | countyID | cityID | stateID | postalCode | countryID

县:

_id | stateID | countyName

目前,地址表中的countyID具有县名。我需要做的是使address.countyID中的值在县中找到它,然后从县表中选择countyID,然后用countyID更新地址表。

最终结果,addresses.countyID需要具有countyID而不是countyName。

谢谢,任何帮助都会很棒。我一直在尝试各种各样的事情。我尝试过简单WHEREJOIN,但似乎没有任何效果。我使用MySQL作为我的数据库。

2 个答案:

答案 0 :(得分:1)

你的意思是这样吗?

更新DB1 SET COUNTYID =(从DB2 INNER JOIN DB1中选择ID,DB1.COUNTYID = DB2.ID)

我不确定你匹配的DB2中哪一列,我读的问题越多,我就越困惑! :)

答案 1 :(得分:0)

我刚刚从选择结果中创建了一个新表。

CREATE TABLE AddressesCounties 
SELECT db1.addresses._id, db1.addresses.address, db2.counties._id, db1.addresses.cityID, db1.addresses.stateID, db1.addresses.postalCode, db1.addresses.countryID 
WHERE db1.addresses.countyID = db2.counties.countyName;

创建此临时表比修改实际数据要容易一些。这样我就可以运行我的SELECT命令并在应用它们之前测试我的结果。