是否可以使列不是主键,成为其他表中的外键?例如:
- 用于主表
create table identity(
id int not null,
name_identity varchar2(100),
primary key(id)
);
- 用于外键
create table class(
class_id int,
name_identity varchar2(100),
primary key(class_id),
foreign key(name_identity) references identity(name_identity)
);
是否可以将name_identity作为外键?
答案 0 :(得分:1)
外键不依赖于列,而是依赖于唯一键。主键是唯一键的特殊情况,因此也可以使用它。
在你的情况下,你应该使用name_identity varchar2(100) unique
这样的东西,然后你可以在外键中使用它。