匿名用户Oracle:建表的时候没有重复语句 ,为什么查表有重复记录 ,用distinct只会在查询结果中去重没有删除表重复记录 ?
尝试先用delete删除再insert插入 还是有重复记录 怎么解决 ?
我来答
添加附件
收藏
分享
问题补充
4条回答
默认
最新
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
墨值悬赏
匿名用户尝试先用delete删除再insert插入 还是有重复记录 怎么解决 ?
因为最开始没有设置约束条件。
查询只是查询。不会删除。
建议删除重复数据后加上主键或者唯一约束。
或者清空数据后加上主键或者唯一约束。以后就不会有了。
评论
有用 0
Insert之前没重复记录,Insert之后有,有两钟情况:
1:你执行的那条SQL在select 出来的时候就有重复记录
2:你执行的那条SQL没重复记录,但在目标表里本来存在相同记录了
distinct当然不会删除表中的重复记录,只是select出来去重
源表去重,主键,distinct,minus…方法多的是,其实根本就不应该让重复记录产生
评论
有用 0你先确定你说的重复,是唯一键重复还是所有字段都重复?
如果只是唯一键重复,有其他字段不重复,你distinct *是去除不了唯一键重复的数据的。
评论
有用 0
墨值悬赏