我正在尝试创建一个简单的社交网络应用程序,其中包含有关用户及其朋友的记录。即 ID 为 1 的用户有 ID 为 2、3 的朋友。ID 为 2 的用户有 ID 为 1、3、4 等的朋友。现在我想获取有关该用户及其朋友的记录。
我创建了两个表
用户
user_id | firstname | surname | age
朋友
user_id | friend_id
并记录如下内容:
用户
user_id | firstname | surname | age
1 | Nikola | Misic | 22
2 | Stefan | Ilic | 23
3 | Dragan | Jovic | null
朋友
user_id | friend_id
1 | 2
1 | 3
2 | 1
3 | 1
3 | 4
user_id 和friend_id 是外键,都指向user 表中的user_id。
我不确定这样的事情是否可能,我已经使用了 3 个表,两个表通过一个复合表连接。
正如您所描述的那样,建议的关系(一个表有两个外键指向另一个表中的列)是完全可能的,并且是需要做的相对常见的事情。
在查询用户的朋友方面,根据您在评论中所说的,我认为是:
select
u.*
from
users u
inner join friends f
on u.user_id = f.friend_id
where
f.user_id = ?
?
将包含来自的 userid 参数 $_GET["userid"]
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句