首页 文章

数据库oracle外键错误ORA-02270:此列列表没有匹配的唯一键或主键

提问于
浏览
0

在播放器表中创建外键时,它显示以下错误

ORA-02270:此列列表没有匹配的唯一键或主键

create table person
(

per_ssn number(10) not null,

per_name varchar2(30) not null,

CONSTRAINT pk_PersonID PRIMARY KEY (per_ssn,per_name)

); 


create table Player 
(

player_ssn number(10) not null,

player_name varchar2(30) not null,

football_club_name varchar2(30) not null, 

p_age number(2) not null,

p_weight number(3) not null,

p_height number(10) not null,

country varchar2(20) not null,

p_starting_date date not null, 

p_ending_date date not null

);

alter table Player

 add constraint player_ssn 

 FOREIGN KEY (player_ssn)

 REFERENCING person (per_ssn)on delete cascade

我想在person表中创建两个主键,然后想在播放器表中引用这些主键 .

如果我制作一个主键然后在播放器表中引用它,那么它不显示错误但我想制作两个主键 .

1 回答

  • 0

    你应该引用 per_ssn,per_name ,因为那是你在 person 上的PK . 无论如何,考虑在 person 表中制作 per_ssn 你的PK

    alter table Player
    add constraint player_ssn 
    FOREIGN KEY (player_ssn,player_name)
    REFERENCING person (per_ssn,per_name)on delete cascade
    

相关问题