zoukankan      html  css  js  c++  java
  • 【mysql 】sql删除重复记录 You can't specify target table '表名' for update in FROM clause

    用下面的语句就报语法出错:

    delete from tab_record where recordid not in
    (select  min(c.recordid) as recordid from  tab_record  c group by (c.dev_Id+c.StartTime+c.EndTime+c.CardNum));

     报错如下:You can't specify target table '表名' for update in FROM clause

    找到替代方案,改用下面的,OK:

    delete from tab_record where recordid not in
    (select min(c.recordid) as recordid from (select * from tab_record ) c group by (c.dev_Id+c.StartTime+c.EndTime+c.CardNum));

    或者下面的也OK:

    delete from tab_record where recordid not in
    (select * from (
      select min(recordid) as recordid from tab_record group by (dev_Id+StartTime+EndTime+CardNum)) v);

  • 相关阅读:
    安装PyExecJS出现问题
    常用模块
    python2和python3的区别
    正则表达式
    MySQL之表的关系
    Python与MySQL的交互
    select 查询
    MySQL之表的连接
    bug
    黑盒测试-判定表驱动法
  • 原文地址:https://www.cnblogs.com/qima/p/3146051.html
Copyright © 2011-2022 走看看