我有一个带有city的表'oldTable',其中包含字段id,city和postal_code。
这张桌子是我用来定义他的城市的实际用途,但我想升级这张桌子,所以我下载了一张里面有所有城市的新桌子。
这个新表'newTable'包含字段ID,old_id,city和postal_code。
我想要的是在'newTable'字段'old_id'中输入对应'oldTable'城市的id所以我这样做sql:
UPDATE newTable
SET old_id = oldTable.id
FROM oldTable
WHERE oldTable.city= newTable.city
AND oldTable.postal_code = newTable.postal_code
但我有这个错误: 您的sql语法中有错误;请查看与您的MySQL服务器版本对应的手册,以便在'FROM oldTable WHERE ...'附近使用正确的语法。
答案 0 :(得分:3)
MySQL中update
join
的正确语法是:
UPDATE newTable JOIN
oldTable
ON oldTable.city = newTable.city AND
oldTable.postal_code = newTable.postal_code
SET newTable.old_id = oldTable.id;