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

ORA-00001:unique constraint(space) violated

2014-01-28 
我的系统在输入一些数据,执行的是insert into table动作,但出现ORA-00001:unique constraint(space) violat

我的系统在输入一些数据,执行的是insert into table动作,但出现ORA-00001:unique constraint(space) violated的错误。然后去数据库查了下数据,只插入了一部分数据,只有两个字段类型为clob的没有插进去。

但是我检查了下我要插的那张表里面的主键就只有一个,也没有其他任何的约束,为什么会出现此错误呢。

当稍微改下再insert into数据的时候,没有出现上面的错误,也没有任何反应,数据也没有更新到数据库中去。
这问题如何解决?


------解决方法--------------------------------------------------------
在itpub找到一个解决方法,不知道是否适合于你:

在做几个数据库的statspack时,某个数据库总是报错:


ORA-00001: unique constraint (PERFSTAT.STATS$SQL_SUMMARY_PK) violated
ORA-06512: at "PERFSTAT.STATSPACK", line 1361
ORA-06512: at "PERFSTAT.STATSPACK", line 2471
ORA-06512: at "PERFSTAT.STATSPACK", line 91
ORA-06512: at line 1

到Metalink搜索了一下,是一个Bug,Bug号为:2784796. 在设置了cursor_sharing为similar或者force之后,可能触发此Bug.

检查数据库参数,果然是similar.

此bug据说在Oracle10g中已经修正。

------解决方法--------------------------------------------------------
clob 字段初始插入时需要有empty_clob()

至于说主键重复,估计是某个小地方忽略了
------解决方法--------------------------------------------------------
ORA-00001: unique constraint (string.string) violated
Cause: An UPDATE or INSERT statement attempted to insert a duplicate key. For Trusted Oracle configured in DBMS MAC mode, you may see this message if a duplicate entry exists at a different level.
Action: Either remove the unique restriction or do not insert the key.

        

热点排行