加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

oracle主键插入重复数据

发布时间:2020-12-12 13:54:05 所属栏目:百科 来源:网络整理
导读:问题 发现oracle中已经设置了主键,但是还能插入重复数据,也是奇葩,后来发现主键虽然设置,但是没有启动,这才导致可以插入重复主键数据 解决办法 查询出没有启用主键的表 select a.constraint_name,b.column_name,a.table_name,a.status from user_constr

问题

发现oracle中已经设置了主键,但是还能插入重复数据,也是奇葩,后来发现主键虽然设置,但是没有启动,这才导致可以插入重复主键数据

解决办法

查询出没有启用主键的表

select a.constraint_name,b.column_name,a.table_name,a.status from user_constraints a,user_cons_columns b where a.constraint_type = 'P' and a.status='DISABLED' and b.column_name='ID';

启用SYS_CONFIG 表主键

alter table SYS_CONFIG enable primary key;

停用SYS_CONFIG 表主键

alter table SYS_CONFIG disable primary key;

批量启用主键

select 'alter table '||table_name|| ' enable primary key;' from (select a.constraint_name,user_cons_columns b where a.constraint_type = 'P' and a.status='DISABLED' and b.column_name='ID');

修改失败查询是哪个数据已经重复了

select * from (select count(*) num,id from SYS_CONFIG group by id )where num>1

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读