【问题标题】:Should I make a FK relation on which table?我应该在哪个表上建立 FK 关系?
【发布时间】:2017-08-13 17:46:02
【问题描述】:

我有两张表,例如:

-- 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),反之亦然?

【问题讨论】:

  • 反对者请发表评论并解释我的问题有什么问题?
  • FK 的定义是什么? FK 约束说明了什么?当你用谷歌搜索你的标题时,你发现/学到了......? PS Downvote 箭头鼠标悬停文本:“这个问题没有显示任何研究工作;...”。 PPS 关系是一个表,你的意思是关系。

标签: mysql sql foreign-keys


【解决方案1】:

您正在寻找这样的语法:

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

【讨论】:

  • 好的,谢谢。为什么不alter table users add constraint fk_user_id foreign key (id) references user_detail(user_id);
  • @MartinAJ 。 . .因为外键是user_details 中的user_id,所以这就是定义所在。 user.id 是该表的主键
  • @GordonLinoff 为什么要回答这样一个明显重复且应该被否决的问题?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-18
  • 1970-01-01
  • 2011-10-04
  • 1970-01-01
  • 2017-12-09
  • 1970-01-01
相关资源
最近更新 更多