我目前正在尝试为一个简单的社交网站设计数据库。我正在为我的数据库使用 MySQL。目前,我只有一个用户表。基本上,我希望用户能够添加 friend 并能够列出他们的 friend 。我正在考虑创建一个 friend 表,例如:
friends table
user_id
friend_id
每当有人添加 friend 时,它都会创建一个条目。我不确定我的方向是否正确。另一个问题,有没有办法检索所有二级 friend ?( friend 的 friend )任何帮助将不胜感激。非常感谢!
最佳答案
是的,您走在正确的道路上。
你可以通过加入 friends 表来检索 2nd degree friends
select t2.friend_id
from friends t1
inner join friends t2 on t1.friend_id = t2.user_id
where t1.user_id = ...
要考虑的一件事是交换性——如果 A 是 B 的 friend ,那么 B 是 A 的 friend 吗?
关于mysql - 一个简单社交网站的数据库设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12955390/