2012-05-21 119 views
1

我有两个表:SQL,两个外键引用另一个表的相同主键

Person(personID, name, phone, email); 
Relation(child_personID, parent_playerID); 

的关系表有助于识别儿童和他们的父母,但要做到这一点,将personId从人表必须是引用两次作为国外。我该如何去做这件事?

回答

2

可能看起来像这样。

create table Person 
(
    personID int primary key, 
    name varchar(50), 
    phone varchar(50), 
    email varchar(50) 
) 

create table Relation 
(
    child_personID int references Person(personID), 
    parent_playerID int references Person(personID), 
    primary key (child_personID, parent_playerID) 
) 
+0

那么这将返回来自关系表的记录,不管哪一列匹配? – holaSenor

+0

不确定你的意思。这是具有外键约束的表结构,它确保您不将行添加到'Person'中没有相关行的'relation'表中。要返回行,您需要查询以及查询返回的行取决于您如何编写查询。 –

相关问题