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

Mysql 社交网络的多对多关系(数据库),mysql,database,facebook,Mysql,Database,Facebook,我知道mysql在技术上不支持多对多。我们应该创建一个桥接表。但就我而言,我仍然对此感到困惑 当许多用户可以有许多朋友时,两个表(或更多)看起来如何?把它想象成社交网络应用。我想在用户使用fb API连接时存储他们的朋友。如何连接下表2 user ===== id name friend ===== id name 假设jason的朋友是jordan,jordan的朋友肯定是jason。您在编写时创建了一个用户表: user ===== id name 然后创建如下关系表: relatio

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

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

user
=====
id
name

friend
=====
id
name

假设jason的朋友是jordan,jordan的朋友肯定是jason。

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

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都是朋友。

2张桌子?我不明白。为什么不呢,很简单。您有一个用户表,并将用户之间的关系存储在关系表中。@noob:您应该接受这个答案,因为您不可能得到任何其他答案:-)这是存储您在rdbms中描述的关系的方法。Facebook也采用同样的方法: