我刚刚在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”)
答案 0 :(得分:0)
请执行一个简单的声明:
select * from admin.message_list where id = 1;
如果它不返回行,则应检查约束PK_ID是否引用ID列,如果是,请要求Oracle支持人员修复错误。