【发布时间】:2011-04-25 23:50:49
【问题描述】:
考虑包含唯一键和主键的表。这些表已经包含数据。如果我在表中添加任何行,我收到一个错误 (ORA - 0001),这是由于重复值被添加到主键或唯一键。在这里我无法确定错误是否是由于向主键或唯一键添加了重复值。有人可以建议我如何识别吗?
【问题讨论】:
考虑包含唯一键和主键的表。这些表已经包含数据。如果我在表中添加任何行,我收到一个错误 (ORA - 0001),这是由于重复值被添加到主键或唯一键。在这里我无法确定错误是否是由于向主键或唯一键添加了重复值。有人可以建议我如何识别吗?
【问题讨论】:
ORA-00001 message的格式为:
ORA-00001: 违反唯一约束 (string.string)
其中string.string 是schema.constraint_name。这就是为什么给我们的约束提供有用的名称是一种很好的做法。
create table t23
( id number not null
, col1 varchar2(30)
, col2 date
, constraint t23_pk primary key (id)
, constraint t23_uk unique (col1)
)
/
【讨论】:
错误显示违反的约束。 消息 shd 如下所示:
ORA-00001:唯一约束 (string.string) 违反了
其中 (string.string) 将是约束的名称
【讨论】: