具有唯一索引和主键的列给出唯一约束冲突

Column with Unique Index and Primary Key gives Unique Constraint Violation

我刚刚在 PL/SQL Devloper 上创建了一个 Table。我创建的 Table 有一个 ID 列。对于本专栏,我设置了一个主键 (PK_ID)。该列还有一个名为 PK_ID.

的唯一索引

我试图通过这样写插入到这个 table 中:

INSERT INTO ADMIN.MESSAGE_LIST (TEXT, TEXTER, ID)
VALUES ('This is a Test','Tim', 1);

我收到错误 "ORA-00001: unique constraint (ADMIN.PK_ID) violated"

我在 table 中没有其他插入(它目前是空的),我认为插入 1 是因为 ID 是唯一的。

我也没有设置序列和触发器来自动增加 ID 列,因为老实说我不知道​​如何编辑 table 来做到这一点(这就是为什么我刚刚插入ID为1作为测试)。

如果 table 为空,为什么我不能使用 ID 1 插入?在那种情况下它不会仍然是唯一的吗?

(注意:运行 不包含 ID 和值 1 的命令给我一个错误,说我无法将 "NULL" 插入 ID 列)

请执行一个简单的语句:

select * from admin.message_list where id = 1;

如果它不会 return 行,您应该检查约束 PK_ID 是否引用了 ID 列,如果是,请要求 Oracle 支持修复错误。