表可以具有主鍵屬性和唯一約束到另一個屬性嗎?Oracle唯一約束和主鍵不爲空
我有以下
CREATE TABLE BRANCH(
BRA_CODE NUMBER NOT NULL PRIMARY KEY,
BRA_NAME VARCHAR(15),
BRA_ADDR VARCHAR(30),
CITY_ID NUMBER);
和IM嘗試添加
ALTER TABLE BRANCH ADD CONSTRAINT UNIQUE_BRANCH_NAME UNIQUE (BRA_NAME);
,我碰到下面的錯誤;
ERROR at line 1:
ORA-02261: such unique or primary key already exists in the table
是什麼'選擇INDEX_NAME FROM DBA_INDEXES在表格名= '分支';'說明了什麼? – 2012-03-25 21:42:12
我試圖放棄它,但不讓我失敗,原因如下: ORA-02429:無法刪除用於強制執行唯一/主鍵的索引此屬性只設置爲唯一併且不是主鍵的一部分,似乎是什麼問題,此外,約束似乎處於不可用狀態。第1行的錯誤: ORA-01502:索引'1146815.BRANCH_NAME'或索引的分區是處於不可用狀態' – 2012-03-25 22:19:05
嘗試刪除約束而不是索引。索引是在創建唯一約束時隱式創建的。在最壞的情況下,放下桌子並重新創建它。您先將數據複製到第二個表中備份數據:'將表創建BACKUP_BRANCH作爲select * from BRANCH'。 – GolezTrol 2012-03-26 08:32:16