我的网站有一个追随者/追随系统(如 Twitter)。我的困境是创建数据库结构来处理谁在关注谁。
我想出的是创建一个这样的表:
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 列的外键。
关于php - 关注者/关注数据库结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19734154/