表可以具有主键属性和唯一约束到另一个属性吗?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