sqlfile:中的所有结构表
UPDATE MenuPosition
SET Position = (SELECT Position FROM MenuPosition WHERE MenuId ='2')
WHERE MenuId ='1'
当我们使用查询时,我们得到错误:
You can't specify target table 'MenuPosition' for update in FROM clause
请告诉我我的错误在哪里以及如何解决?
最佳答案
对。那是MySQL的局限性。而是使用join
:
UPDATE MenuPosition mp cross join
(SELECT Position FROM MenuPosition WHERE MenuId ='2'
) mp2
SET mp.Position = mp2.Position
WHERE MenuId = '1';
关于mysql - SQL您不能指定目标表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25234874/