欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

怎么只用一行数据表示两个人的好友关系?

程序员文章站 2022-06-14 15:35:43
...
user_id f_id dateline
1 2 time
2 1 time

现在是这样的方法。
SQL如下:

获取我的好友:

sqlselect * from frieds where user_id = :id or f_id= :id

怎么用一行数据来表示用户关系?

回复内容:

user_id f_id dateline
1 2 time
2 1 time

现在是这样的方法。
SQL如下:

获取我的好友:

sqlselect * from frieds where user_id = :id or f_id= :id

怎么用一行数据来表示用户关系?

新增一列用来表明两人友好关系
比如用数字(0,1,2),表示两人的关系(陌生,认识,熟知)

新建表 relation

字段 id tinyint auto_increment primary key
字段 relation varchar 

user_id_1 user_id_2 relation
a b 1
a c 2
a d 3

relation: 1表示user_id_1是user_id_2的好友,2表示user_id_2是user_id_1的好友,3表示user_id_1和user_id_2互为好友.

稍微优化一下relation的表示值的话,可以这个样子表示01,10,11表示两个人的好友关系

相关标签: php mysql