【数据库领域】You can't specify target table 'Person' for update in FROM clause

delete from Person where id in (select max(id) from person group by Email having count(*)>1);

在练习sql时 报错。

原因delete和select不能同时执行 使用笛卡尔积自关联表 筛选出条件

DELETE p1.*
FROM Person p1,
    Person p2
WHERE
    p1.Email = p2.Email AND p1.Id > p2.Id

 

posted @ 2019-12-11 16:34  qxlxi  阅读(71)  评论(0编辑  收藏  举报