php – 关注者/关注的数据库结构

我的网站有一个粉丝/关注系统(如推特).我的困境是创建数据库结构来处理谁跟随谁.

我想出的是创建一个这样的表:

 id  |  user_id  |  followers |  following
  1  |    20     |  23,58,84  |  11,156,27
  2  |    21     |  72,35,14  |  6,98,44,12
 ... |   ...     |    ...     |     ...

基本上,我认为每个用户都会有一行包含他们的关注者和他们关注的用户的列.他们关注的关注者和关注者的用户ID将以逗号分隔.

这是一种有效的处理方式吗?如果没有,最好的选择是什么?

这是最糟糕的做法.这与正常化有关.有2个单独的表.用户和User_Followers.用户将存储用户信息. User_Followers将是这样的:

id | user_id | follower_id
1  | 20      | 45
2  | 20      | 53
3  | 32      | 20

User_Id和Follower_Id将是引用Users表中Id列的外键.

翻译自:https://stackoverflow.com/questions/19734154/followers-following-database-structure

转载注明原文:php – 关注者/关注的数据库结构