id重复无法添加主键
数据迁移的时候,用imp导入的同时目标库也在写入数据,导致出现了重复id,不能添加主键,同时由于存在多次导入,有部分数据包括id列完全一致
我来答
添加附件
收藏
复制链接
微信扫码分享
在小程序上查看
分享
添加附件
问题补充
11条回答
默认
最新
id重复的数据有100多万条,总数据4千万左右,有什么办法能使完全一致的数据只保留一条,只有id相同的数据改成不同id么
评论
有用 0现在是导入已经完成了,需要修改目标库数据使得可以添加主键
评论
有用 0如果要保证一致性:
停止业务,删除表数据,再导入数据,恢复业务。
如果不在乎存在重复数据:
删除约束,导入数据。手工校验。
评论
有用 0现在的情况是不能停业务,数据也已经导入完成,但是目标库没有建立约束,出现了重复数据,要把完全重复的数据只保留一条,只有id一样的修改成不同id
评论
有用 0select * from (
select id,row_number()over(partition by id order by null) rn from tab)
where rn>1
筛选出重复数据到临时表,编辑好了 再插入回来
评论
有用 0这个要看是不是允许重复。如果允许的话,删除约束,插入数据,然后在创建约束,创建时选择不校验已有数据。
如果不允许重复,就先停掉业务,然后进行去重。
评论
有用 0有的字段含有空值,row number over的方法好像判断不出来
评论
有用 0回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
墨值悬赏

