//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的 friend 系统,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5857390/