無法添加主鍵約束
SQL> ALTER TABLE USERINFO_1
? 2? ADD CONSTRAINT PK_ID PRIMARY KEY(ID);
ADD CONSTRAINT PK_ID PRIMARY KEY(ID)
?????????????? *
第 2 行出現(xiàn)錯誤:
ORA-02437: 無法驗(yàn)證 (SYSTEM.PK_ID) - 違反主鍵
SQL> ALTER TABLE USERINFO_1
? 2? ADD CONSTRAINT PK_ID PRIMARY KEY(ID);
ADD CONSTRAINT PK_ID PRIMARY KEY(ID)
?????????????? *
第 2 行出現(xiàn)錯誤:
ORA-02437: 無法驗(yàn)證 (SYSTEM.PK_ID) - 違反主鍵
舉報
2016-02-24
正在給study用戶下的semp表設(shè)立建設(shè)主鍵的時間,涌現(xiàn)以下毛病: SQL alter table semp add constraint pk_emp primary key(empno); alter table semp add constraint pk_emp primary key(empno) * 第 1 止涌現(xiàn)毛病: ORA-02437: 沒法驗(yàn)]?
???? 在給study用戶下的semp表建立主鍵的時候,出現(xiàn)以下錯誤:
SQL> alter table semp add constraint pk_emp primary key(empno);
alter table semp add constraint pk_emp primary key(empno)
??????????????????????????????? *
第 1 行出現(xiàn)錯誤:
ORA-02437: 無法驗(yàn)證 (STUDY.PK_EMP) - 違反主鍵
???? 上網(wǎng)查了一下錯誤,原來是作為主鍵的empno有重復(fù),刪除掉重復(fù)后主鍵可以正常建立,具體操作如下:
SQL> select empno,ename from semp;
???? EMPNO ENAME
---------- ----------
????? 7369 SMITH
????? 8000 ALLEN
????? 7521 WARD
????? 7566 JONES
????? 7654 MARTIN
????? 7698 BLAKE
????? 7782 CLARK
????? 7788 SCOTT
????? 7839 KING
????? 7844 TURNER
????? 7876 ADAMS
???? EMPNO ENAME
---------- ----------
????? 7900 JAMES
????? 7902 FORD
????? 7934 MILLER
????? 8100 geng
????? 8100 geng
已選擇16行。
SQL> delete from semp where empno=8100;
已刪除2行。
SQL> commit;
2016-01-13
是不是ID字段有null值或重復(fù)值
2015-12-31
alter table userinfo_1
add constraint pk_id primary key(id);