Mysql 用select更新
我有一个表'oldTable',其中包含city字段id、city和邮政编码 此表是我实际用于用户定义其城市的表,但我想升级此表,以便加载一个包含所有城市的新表 此新表“newTable”包含字段id、旧id、城市和邮政编码 我想在“newTable”的“old_id”字段中输入对应于“oldTable”所在城市的id,因此我执行以下sql:Mysql 用select更新,mysql,sql,Mysql,Sql,我有一个表'oldTable',其中包含city字段id、city和邮政编码 此表是我实际用于用户定义其城市的表,但我想升级此表,以便加载一个包含所有城市的新表 此新表“newTable”包含字段id、旧id、城市和邮政编码 我想在“newTable”的“old_id”字段中输入对应于“oldTable”所在城市的id,因此我执行以下sql: UPDATE newTable SET old_id = oldTable.id FROM oldTable WHERE oldTable.city= n
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…”附近使用的正确语法。MySQL中使用
join
进行更新的正确语法为:
UPDATE newTable JOIN
oldTable
ON oldTable.city = newTable.city AND
oldTable.postal_code = newTable.postal_code
SET newTable.old_id = oldTable.id;
谢谢,这是我的作品,我已经尝试加入,但我没有把布景放在好地方。