首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

ORA-00001: 违反唯一约束条件 (EREPORT.SYS_C0012182)

2014-01-28 
ORA-00001: 违反唯一约束条件 (EREPORT.SYS_C0012182) 费解的是,sql语句报此错,但是数据表还是给我插入记录

ORA-00001: 违反唯一约束条件 (EREPORT.SYS_C0012182)
费解的是,sql语句报此错,但是数据表还是给我插入记录?

另外Unique Index  SYS_C0013980: V_rec_ID
  索引名:索引字段
没错这么看吧?


------解决方法--------------------------------------------------------
你是否是执行一个插入数据的sql脚本
出错的那条数据没有插入,其他的都插入了?
------解决方法--------------------------------------------------------
如果你执行的是若干条独立的insert,则出错的一条不会插入,其他的值还是会插入表中
你查询下
select * from all_cons_columns where constraint_name='SYS_C0012182'


查下这个唯一约束在哪个表的那个字段上

你为什么说这条记录违反了约束可是还是插入了呢?比如DT_UPD_DATE是约束所在的字段,你可以查询select * from HELP_NOTICE where DT_UPD_DATE='20091112165133'
如果只有一条记录,就应该是你没有插入成功,查询出来的记录是原来就有的
------解决方法--------------------------------------------------------
是这样的,在执行一批insert语句时,如果某条违反唯一约束条件了,这条是不会插入到数据库中的,但是不影响其他的插入,你可以检查是不是这样的一种情况。
------解决方法--------------------------------------------------------
自增是在程序端实现的吧,那就是程序端出错
你可以用oracle的序列来实现自增
------解决方法--------------------------------------------------------
有插入重复主键的记录吗? 你查一下。。。我觉得应该不会

        

热点排行