与
ESC
输入关键词搜索文章

mysql删除重复记录提示#1093 - You can't specify target table 'X' for update in FROM clause

全文约 142 字预计阅读 1 分钟
使用以下语句删除重复记录时候出现错误提示,据说mssql和oracle不会出现此问题。
delete from table where (countid) in (

 select min(countid) as countid from table where year=2017 group by objname,objid,year having count(1) > 1

)
提示#1093 - You can't specify target table 'X' for update in FROM clause 大概意思是你不能select出来后同时又更新 解决方案 要不就create table tmp 创建个临时表,要不就再套个select  
delete from table where (countid) in (
 select a.countid from
 (
 select min(countid) as countid from table where year=2017 group by objname,objid,year having count(1) > 1
 )a
)
mysql删除重复记录提示#1093 - You can't specify target table 'X' for update in FROM clause
分享

发表评论

评论 0 条

暂无评论,来说点什么吧。