SQL错误:ORA-02270:此列列表没有匹配的唯一键或主键[问]

时间:2018-01-15 07:14:52

标签: database oracle

是否可以使列不是主键,成为其他表中的外键?例如:

- 用于主表

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作为外键?

1 个答案:

答案 0 :(得分:1)

外键不依赖于列,而是依赖于唯一键。主键是唯一键的特殊情况,因此也可以使用它。

在你的情况下,你应该使用name_identity varchar2(100) unique这样的东西,然后你可以在外键中使用它。