错误代码:1093不能在from子句中为update指定目标表“pr\u 1”

vwkv1x7d  于 2021-06-21  发布在  Mysql
关注(0)|答案(1)|浏览(306)

我正在尝试更新:

UPDATE PR PR1
SET PR_KEY = 1
WHERE NOT EXISTS (
    SELECT 1
    FROM PR PR2 
    WHERE PR2.a = PR1.a ABD PR2.b = PR1.b
);

但我有个错误:
错误代码:1093。不能在from子句中为update指定目标表“pr1”。
大多数解决方案似乎专注于做一个子查询,但不确定我如何在这里应用它,或者也许有更好的方法得到我想要的。

tquggr8v

tquggr8v1#

使用联接而不是子查询

UPDATE PR PR1 
LEFT JOIN PR PR2 ON PR2.a = PR1.a AND PR2.b = PR1.b
SET PR1.PR_KEY = 1
WHERE PR2.a IS NULL

相关问题