繁体   English   中英

两个表互相引用

[英]Two tables referring to each other

我正在尝试创建一个简单的社交网络应用,其中包含有关用户及其朋友的记录。 即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_id。

关系看起来像这样: 在此处输入图片说明

我不确定这种可能性是否可行,我使用了3个表,两个表通过一个组合表连接。

正如您所描述的那样,建议的关系(一个在另一个表中具有两个指向列的外键的表)是完全可能的,并且是要做的相对常见的事情。

在查询用户的朋友方面,基于您在评论中所说,我认为是:

select 
  u.* 
from 
  users u 
  inner join friends f 
    on u.user_id = f.friend_id 
where 
  f.user_id = ?

? 将包含$_GET["userid"]的userid参数

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM