Can't specify target table for update in FROM clause
UPDATE tbl SET col = ( SELECT ... FROM (SELECT.... FROM) AS x);
额外嵌套了一个 SELECT 语句
例如LeetCode 中的 Delete Duplicate Emails
正解:
DELETE
FROM
Person
WHERE
id NOT IN ( SELECT id FROM ( SELECT min( id ) AS id FROM Person GROUP BY email ) AS m );
错解:
DELETE
FROM
Person
WHERE
id NOT IN ( SELECT min( id ) AS id FROM Person GROUP BY email );

浙公网安备 33010602011771号