具有唯一索引和主键的列会给出唯一约束违例

时间:2015-02-03 16:51:47

标签: oracle plsql plsqldeveloper

我刚刚在PL / SQL Devloper上创建了一个表。我创建的表有一个ID列。对于此列,我设置了主键(PK_ID)。该列还有一个名为PK_ID的唯一索引。

我试着写下这个:

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

我收到错误“ORA-00001:违反了唯一约束(ADMIN.PK_ID)”

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

我也没有设置序列和触发器来自动增加ID列,因为我老实说不知道如何编辑表来执行此操作(这就是我刚刚插入ID为1的原因)检验)。

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

(注意:运行命令时不包含ID和值1会给我一个错误,说我不能在ID列中插入“NULL”)

1 个答案:

答案 0 :(得分:0)

请执行一个简单的声明:

select * from admin.message_list where id = 1;

如果它不返回行,则应检查约束PK_ID是否引用ID列,如果是,请要求Oracle支持人员修复错误。