使用选择进行更新

时间:2015-08-18 15:35:39

标签: mysql sql

我有一个带有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 ...'附近使用正确的语法。

1 个答案:

答案 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;