如何在twitter中为用户实现关注者

时间:2011-08-28 03:59:13

标签: php social-networking mysql-management mysql

我有一个使用php和mysql制作的社交网络。我试图弄清楚如何为每个用户制作粉丝。我应该在mysql中创建一个表,其中包含每个人的关注者列表,并为他们关注的每个人创建一个表吗?这怎么办?我应该如何设置我的数据结构?请帮忙。

3 个答案:

答案 0 :(得分:4)

Table `followers`

id
user_id
follows_id

如果用户关注其他用户,请将其ID添加到此表中,其中user_id是后续用户,follows_id是他正在关注的用户。

答案 1 :(得分:2)

你应该研究ERD。你是对的。你有一个用户表。用户与用户具有多对多关系,因此请创建包含该关系的表。它至少应该有两个字段; “user”和“follower”,并存储相应实体的ID。

答案 2 :(得分:0)

这肯定是多对多的关系,我会使用复合主键。

而不是使用显式id列,我将使user_id和follower_id的组合列成为关注者表的主键。这样可以避免任何条目被复制。

我还添加了一个外键约束,这样如果在users表中删除了用户,那么将从followers表中删除所有用户条目;

create table followers
(
     user_id int unsigned not null, 
     follower_id int unsigned not null, 
     primary key(user_id,follower_id), 
     foreign key(user_id) references users(id) on delete cascade on update cascade
);