【发布时间】:2016-01-09 22:16:53
【问题描述】:
现在我正在处理一个小型博客项目,我的数据库中有 2 个表:用户和帖子。我想显示帖子作者的姓名,所以我想我应该在帖子表中为用户创建外键。但是,如果我要创建名为 user_id 的普通列,然后只保存作者的 id 怎么办。然后,当我想显示帖子时,我可以加入两个表格并显示帖子内容和作者姓名。
创建外键有什么好处吗?
【问题讨论】:
现在我正在处理一个小型博客项目,我的数据库中有 2 个表:用户和帖子。我想显示帖子作者的姓名,所以我想我应该在帖子表中为用户创建外键。但是,如果我要创建名为 user_id 的普通列,然后只保存作者的 id 怎么办。然后,当我想显示帖子时,我可以加入两个表格并显示帖子内容和作者姓名。
创建外键有什么好处吗?
【问题讨论】:
无论哪种方式,您都需要一个“普通”列,例如user_id。
使user_id 成为外键的好处是,数据库将强制执行参照完整性。这意味着它不允许您在帖子上设置不存在的用户,也不允许您删除拥有一个或多个帖子的用户(同时也不会删除相关帖子)。
【讨论】: