SQL:有一个主键也是一个外键

问题描述 投票:0回答:2

对于这个问题,我指的是,你有表T的特定情况下,它有主密钥K,但K是一个外键。这是有效的?你怎么会写它SQL99?

所有我已经看到了这里的其他问题,只是要求一个主键是否可以是另一个表的外键。这不是我要问一下。我问其中有一个外键,其中是该表的主键的表。

sql foreign-keys primary-key
2个回答
3
投票

如果我理解正确的话,你想创建一个层次表,例如:

create table hierarchical
(
    id number primary key, 
    parent_id number
);

alter table hierarchical add constraint 
    fk_parent_id foreign key(parent_id) references hierarchical(id);

这种表可以包含例如员工/经理。


2
投票

列可以作为主键和外键。例如,参照以下内容:

A柱既可以是主键和外键。例如:

create table A 
(
id int not null
, constraint PK_A primary key (id)
);

create table B 
(
id int not null
,constraint PK_B primary key (id)
,constraint FK_B_ID foreign key (id) references A(id)
);

虽然,这需要数据存在于表B第一个。

© www.soinside.com 2019 - 2024. All rights reserved.