mysql - 社交网络(数据库)的多对多关系

标签 mysql database facebook

我知道技术上 mysql 不支持多对多。我们应该创建一个桥接表。但就我而言,我仍然对此感到困惑。

当许多用户可以有很多 friend 时,2 个表(或更多?)看起来像什么?把它想象成社交网络应用程序。我想在用户使用 fb API 连接时存储他们的 friend 。如何连接下面的2个表?

user
=====
id
name

friend
=====
id
name

说jason的 friend 是jordan,jordan的 friend 肯定是jason。

最佳答案

您在编写时创建了一个 User 表:

user
=====
id
name

然后像这样创建一个关系表:

relationship
=====
from_user_id
to_user_id

例如

user
=====
1,Jordan
2,Jason
3,Jack
4,Joel

relationship
=====
1,2
1,3

表示 Jordan 与 Jason 和 Jack 都是 friend 。

关于mysql - 社交网络(数据库)的多对多关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23045296/

相关文章:

ios - 获取用户信息 Facebook SDK iOS

mysql - 更改双周数据MYSQL的日期

ios - Facebook "view on ..."自定义故事中的文本未显示

mysql - 错误代码 : 1055. SELECT 列表的表达式 #1 不在 GROUP BY 子句中并且包含非聚合列

mysql - 在数据库中插入视频

python - SqlAlchemy 中的动态表创建和 ORM 映射

现场 Java Connect 数据库

javascript - 无法从 Facebook 应用程序向 Facebook 页面提交任何内容

mysql - 在 mysql 表名中使用 (-) 破折号

php - 如何检查 mysql 列是否不为 NULL?