伙计们,我还是坚持在我的表上使用我的sql布局,我似乎无法理解如何做到这一点。
我需要用户能够成为其他用户的朋友(用户被保存在用户表中)我试图创建一个“朋友”表,以便他们可以相互联系。
我需要与FriendID一起存储的UserID,UserID是当前用户的,FriendID与朋友的UserID相关。ARGh太让人困惑了。
我甚至在谈论它时都迷失了方向,基本上我写代码的方式我需要FriendID与用户表的UserID相关联,这样我就可以找到Im后面的人,这样我就可以在当前的"UserID“页面上显示这些凭据,但我也需要一些方法来找出所有当前UserID的朋友。
UserID与所有当前朋友相关( FriendID ) FriendID与用户表中的用户相关(UserID)
到目前为止,我所拥有的只有这个。如何将FriendID引用回UserID?如果这就是解决问题的办法。

发布于 2011-04-03 00:12:49
这实际上是UserA (发起用户)和UserB (目标用户)之间的多对多关系。您需要一个将两者关联起来的IsFriendsWith表,例如
User
-------------
UserID [PK]
Name
etc,
IsFriendsWith
-------------
InitiatingUserID [FK]
TargetUserID [FK]因此,您可以使用它来查找(对于任何发起用户)他们是谁的朋友,以及对于任何与他们交过朋友的目标用户。
编辑-我是SQL Server用户,但是下面的查询(或类似的查询)应该在mysql中起作用,以便列出其ID在参数@UserID中定义的用户的所有朋友
SELECT u2.Name FROM Users u1
INNER JOIN IsFriendsWith ifw ON u1.UserID = ifw.InitiatingUserID
INNER JOIN Users u2 ON u2.UserID = ifw.TargetUserID
WHERE u1.UserID = @UserIDhttps://stackoverflow.com/questions/5524178
复制相似问题