首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >mysql好友系统,索引,外键,prim键

mysql好友系统,索引,外键,prim键
EN

Stack Overflow用户
提问于 2013-05-07 15:42:11
回答 1查看 163关注 0票数 0

我正在为我的网站交友系统。我正在考虑只创建2行,在每一行上添加一个索引,并使它们成为usersid列的外键。如果任何一个用户被删除,我希望他们被删除。然后,每个用户都会有一个记录。

代码语言:javascript
运行
复制
user_id
friend_id
  1. 问:你认为有什么理由包括一个主键吗?
  2. 问:当将外键设置为级联时,外键会像上面描述的那样起作用吗?

如果你有其他建议或专栏建议,我也想听听(:(我不需要知道友谊是什么时候开始的)

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-05-07 15:50:41

当然你需要一个主键。在这种情况下,最好在两列上使用复合主键。如果没有它,您的查询将比它们应该的速度慢得多,并且您将无法强制执行这对朋友对的唯一性。

你应该考虑的另一件事是朋友关系是单向关系还是双向关系。换句话说,你需要在任何一个方向(从任何一个用户开始)查找朋友关系吗?如果是这样的话,您可能需要为每个朋友关系在该表中插入两行。

关于级联删除,您需要确保在两个列上设置这样一个级联,以便在user表中删除一个用户,它将删除关系表中的所有行,其中该用户是用户或朋友。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16423199

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档