使用新的外键值更改 sql table
Alter sql table with new foreign key values
我有 'locations' 数据库和两个 table。我的第一个 table 是 'uszips',看起来像:
--id--zipCode--stateCode--latitude--longitude--
1 35004 AL 33.584132 -86.515570
2 35005 AL 33.588437 -86.959727
现在,我有一个名为 'usstates' 的第二个 table,我已经有了两个字母的州代码:
--id--stateCode--
1 AK
2 AL
我无法编写查询来修改 'uszips' table,因为 'stateCode' 列将 'stateId' 成为 'usstates' 的外键.例如:
--id--zipCode--stateId--latitude--longitude--
1 35004 2 33.584132 -86.515570
2 35005 2 33.588437 -86.959727
我最好的尝试是:
update uszips set uszips.stateCode=usstates.id
from uszips
join usstates on (uszips.stateCode=usstates.state)
但是我收到以下错误:
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'from uszips join usstates on (uszips.stateCode=usstates.state)' at line 2
set
子句应该在 之后 join
子句:
UPDATE uszips
JOIN usstates ON uszips.stateCode = usstates.state
SET uszips.stateCode = usstates.id
我有 'locations' 数据库和两个 table。我的第一个 table 是 'uszips',看起来像:
--id--zipCode--stateCode--latitude--longitude--
1 35004 AL 33.584132 -86.515570
2 35005 AL 33.588437 -86.959727
现在,我有一个名为 'usstates' 的第二个 table,我已经有了两个字母的州代码:
--id--stateCode--
1 AK
2 AL
我无法编写查询来修改 'uszips' table,因为 'stateCode' 列将 'stateId' 成为 'usstates' 的外键.例如:
--id--zipCode--stateId--latitude--longitude--
1 35004 2 33.584132 -86.515570
2 35005 2 33.588437 -86.959727
我最好的尝试是:
update uszips set uszips.stateCode=usstates.id
from uszips
join usstates on (uszips.stateCode=usstates.state)
但是我收到以下错误:
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'from uszips join usstates on (uszips.stateCode=usstates.state)' at line 2
set
子句应该在 之后 join
子句:
UPDATE uszips
JOIN usstates ON uszips.stateCode = usstates.state
SET uszips.stateCode = usstates.id