2017-08-13 27 views
-2

我有两个表所示:我应该在哪张桌子上做FK关系?

-- users 
+----+--------+---------------------+----------+--------------------+ 
| id | name |  email   | password |  cookie  | 
+----+--------+---------------------+----------+--------------------+ 

-- user_detail 
+---------+-----+-------------------+----------------+ 
| user_id | age |  about  | birthday | 
+---------+-----+-------------------+----------------+ 

我需要users(id)user_detail(user_id)列之间的关系。现在我想知道,我是否应该打开user_detail表,并在user_id列中创建关系(指users(id),反之亦然?

+0

Downvoter请发表评论,并解释这有什么错我的问题? –

+0

什么是FK的*定义? FK约束是什么意思?当你搜索到你的标题时,你发现/了解到......? PS Downvote arrrow mouseover text:“这个问题没有显示任何研究工作; ...”。 PPS关系是一张表,你的意思是关系。 – philipxy

+1

[MySQL中的外键基础知识?](https://stackoverflow.com/questions/757181/basics-of-foreign-keys-in-mysql) – philipxy

回答

1

您正在寻找的语法是这样的:

alter table user_details add constraint fk_user_details_user_id 
    foreign key (user_id) references users(id); 
+0

好的thx。为什么不'改变表用户添加约束fk_user_id外键(id)引用user_detail(user_id);'? –

+0

@MartinAJ。 。 。因为外键是'user_details'中的'user_id',所以这就是定义所在的位置。 'user.id'是该表的*主键*。 –

+0

@GordonLinoff你为什么回答这样一个明显重复的问题,应该被降低评分? – philipxy

相关问题