Php SQL中同一列中的多个值

Php SQL中同一列中的多个值,php,sql,system,friend,Php,Sql,System,Friend,我对PHP和SQL相当陌生。我花了今天的时间编写了一个朋友系统(几乎与Facebook的完全相同),但我不确定如何在同一专栏中有多个朋友。假设用户“admin”有一个名为“john”的朋友,admin发送一个测试请求,john接受,他们都会进入“彼此的朋友”列。但是假设另一个管理员朋友向他发送了一个请求,他接受该请求后,只会用新名称覆盖“john”,因此列中只有一个值而不是john、另一个朋友等。如何不覆盖,而是继续添加到列中 我希望这是有意义的,并提前感谢 你需要的是“一对多”的关系。一个“人

我对PHP和SQL相当陌生。我花了今天的时间编写了一个朋友系统(几乎与Facebook的完全相同),但我不确定如何在同一专栏中有多个朋友。假设用户“admin”有一个名为“john”的朋友,admin发送一个测试请求,john接受,他们都会进入“彼此的朋友”列。但是假设另一个管理员朋友向他发送了一个请求,他接受该请求后,只会用新名称覆盖“john”,因此列中只有一个值而不是john、另一个朋友等。如何不覆盖,而是继续添加到列中

我希望这是有意义的,并提前感谢

你需要的是“一对多”的关系。一个“人”可以与许多其他“人”成为朋友

您将有一个名为person的表:

person_id | person_name
-----------------------
1 | John
2 | Frank
3 | Mary
4 | Oscar
你会有一张一对多的桌子叫做friends:

person_id1 | person_id2
-----------------------------------
 1 | 2
 1 | 3
 2 | 3

现在,通过查看我们的朋友表。我们的第一段关系是约翰和弗兰克,他们是朋友。约翰和玛丽、弗兰克和玛丽也是。奥斯卡没有朋友。

同一列中有多个朋友。Facebook不是这样做的。请仔细阅读。FB有一对多的关系。他们有一个
users
表,然后是一个
user\u friends
表,有两列:user1id | user2id。非常粗糙的例子。但是它肯定不会将所有的朋友都存储在
users
表的一列中。伊莱,我该怎么做?!谢谢
friend\u id
不需要。您可以创建一个复合主键
person_id1
person_id2
,以防止重复的“友谊”