//user: id name password
how to properly make friends system? how should look table friends?
USERID | FRIENDID
user1id | user2id, user3id
user2id | user1id, user4id, user6id
user3id
user4id | user2id
例如点?
或
USERID | FRIENDIS
user1id | user2id
user1id | user3id
user2id | user1id
user2id | user4id
etc
? 谢谢
最佳答案
这类表称为关系表或关联表。
由 2 个外键构建的表,提供多对多关系。你的最后一个例子正是你要找的。那些用逗号分隔的东西是最糟糕的做法!
编辑:一些额外的策略!
您想同时获取“isFriendOf”(用户在您的“FRIENDS”列中)和“hasFriend”(用户在您的“USERID”列中)并比较这两者。
isFriendOf = "SELECT USERID FROM associationTable WHERE FRIEND LIKE 'userIamSearchingFor'";
hasFriend = "SELECT FRIEND FROM associationTable WHERE USERID LIKE 'userIamSearchingFor'";
更多详情? ;D
关于php - mysql好友系统,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5857390/