无法使用子查询更新MYSQL中的行

时间:2014-08-28 13:34:48

标签: mysql

我使用以下查询:

update city 
set CountryCode = (select CountryCode from city where id = 1)       
where id =4081;

我收到以下错误:

  

错误代码:1093。您无法指定目标表' city'用于FROM子句中的更新

但我不确定为什么这不允许我这样做?

1 个答案:

答案 0 :(得分:1)

您可以使用的一个小技巧是使用子子查询:

UPDATE
  city
SET
  CountryCode = (SELECT * FROM (SELECT CountryCode FROM city where ID=1) s)
WHERE
  id=4081;