mysql 众所周知,update 的表 和 select 的表不能是同一个表。
Currently, you cannot update a table and select from the same table in a subquery.
所以可以用如下方法解决:
UPDATE tableA f SET f.city_id =(SELECT city_id FROM (SELECT * FROM tableA t WHERE t.id=0) AS a WHERE id=1) WHERE f.id=2。
即先查询出结果,命别名,然后再select