我正在尝试创建一个简单的社交网络应用程序,其中包含有关用户及其 friend 的记录。 即,ID 为 1 的用户有 ID 为 2、3 的 friend 。ID 2 的用户有 ID 为 1、3、4 等的 friend 。 现在我想获取有关该用户和他的 friend 的记录。
我创建了两个表
用户
user_id | firstname | surname | age
friend
user_id | friend_id
并记录如下内容:
用户
user_id | firstname | surname | age
1 | Nikola | Misic | 22
2 | Stefan | Ilic | 23
3 | Dragan | Jovic | null
friend
user_id | friend_id
1 | 2
1 | 3
2 | 1
3 | 1
3 | 4
user_id和friend_id是外键,都指向用户表中的user_id。
我不确定这样的事情是否可能,我已经使用了 3 个表,其中两个表通过一个复合表连接。
最佳答案
正如您所描述的那样(一个表有两个外键指向另一个表中的列),建议的关系是完全可能的,并且是需要做的相对常见的事情。
在查询用户的好友方面,根据您在评论中所说的内容,我认为是:
select
u.*
from
users u
inner join friends f
on u.user_id = f.friend_id
where
f.user_id = ?
?
将包含来自 $_GET["userid"]
关于mysql - 两个表相互引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43848439/