【mysql 】sql删除重复记录 You can't specify target table '表名' for update in FROM clause
用下面的語(yǔ)句就報(bào)語(yǔ)法出錯(cuò):
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));
?報(bào)錯(cuò)如下: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);
轉(zhuǎn)載于:https://www.cnblogs.com/qima/p/3146051.html
總結(jié)
以上是生活随笔為你收集整理的【mysql 】sql删除重复记录 You can't specify target table '表名' for update in FROM clause的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: MinGW 和 MSVC 下,使用 FI
- 下一篇: Ubuntu12.04安装配置Thean