首页 > 解决方案 > 如果我无法在sql中插入表,如何解决主键问题?

问题描述

如果我无法插入到 sql PLUS 中的表中,如何解决主键问题?我的意思是我需要添加更多列

CREATE TABLE SETS (
  2  ID NUMBER (4) CONSTRAINT SETS_PK PRIMARY KEY,
  3  COM NUMBER (7,2),
  4  ENAME VARCHAR2(15),
  5  SAL NUMBER(8,2)
  6* );

INSERT INTO SETS VALUES (1, 1, 'COMFORT', 0);

插入 1 行。

INSERT INTO SETS VALUES (1, 2, ''Progressive', 5000);

Error starting at line : 1 in command -
insert into sets values(1, 2, 'Progressive', 5000)
Error report -
ORA-00001: нарушено ограничение уникальности (AIDAR.SETS_PK)

标签: sqloracle

解决方案


因为您已将 id 声明为主键,所以它对于每一行都是唯一的

INSERT INTO SETS VALUES (1, 1, 'COMFORT', 0);
INSERT INTO SETS VALUES (2, 2, 'Progressive', 5000);

但是您为两行提供了相同的 id,这就是它引发错误的原因。顺便说一句,我已经编辑了第二行的值,它现在可以工作了


推荐阅读