我是使用Oracle SQLDeveloper的新手,我现在正在开展大学项目。我一直在尝试将外键约束添加到我的表中(已经将外键作为属性保存)所以我使用ALTER这样:
alter table applies
add constraint e_number foreign key (e_number)
references student (e_number);
其中e_number
是名为student
的表中的主键。学生表的e_number
具有主键约束,并且还具有自动生成的索引,其中在索引选项卡的UNIQUENESS列下显示UNIQUE。每当我尝试为我的任何表创建一个外键时,我每次都会遇到同样的错误:
Error starting at line : 1 in command -
alter table applies
add constraint e_number foreign key (e_number)
references student (e_number)
Error report -
SQL Error: ORA-02264: name already used by an existing constraint
02264. 00000 - "name already used by an existing constraint"
*Cause: The specified constraint name has to be unique.
*Action: Specify a unique constraint name for the constraint.
我有点困惑,一直在阅读几个网站上的独特但仍然没有得到它。当我调用ALTER时,我可以指定FOREIGN键或指定UNIQUE键。我应该ALTER独特,然后ALTER外国?我做错了什么?
答案 0 :(得分:4)
这是因为你已经拥有一个名为e_number的密钥。尝试:
alter table applies
add constraint applies_student_e_number foreign key (e_number)
references student (e_number);