zoukankan      html  css  js  c++  java
  • MySQL:You can't specify target table for update in FROM clause

    问题:You can't specify target table for update in FROM clause

    含义:不能在同一表中查询的数据作为同一表的更新数据。

    注意:这个问题只出现于mysql,mssql和oracle不会出现此问题。

    delete from people 
    where peopleid in (select peopleid from people group by peopleid having count(peopleid)>1)
    and rowid not in (select MIN(rowid) from people group by peopleid having count(peopleid)>1)

    修改后代码:

    delete from people 
    where peopleId  in (SELECT a.peopleid FROM
    (select  peopleId  from people  group  by  peopleId   having  count(peopleId) > 1) a)
    and rowid not in (SELECT b.rowid FROM
    (select MIN(rowid) rowid from people  group by peopleId  having count(peopleId )>1) b)

    查询数据结果集中再套一层 

    PS:感谢Cap_ZZ   https://blog.csdn.net/qq_38481999/article/details/80916034#commentBox

  • 相关阅读:
    Edge 修改使用的默认搜索引擎
    VSCode 插件之
    Visual Studio Code 插件之
    一个随笔
    COGS 2479 偏序 题解
    [NOIP2015] 子串substring 题解
    [CQOI2011]动态逆序对
    树套树三题 题解
    一个随笔
    HEOI 2016 游记
  • 原文地址:https://www.cnblogs.com/yugb/p/10013444.html
Copyright © 2011-2022 走看看