【问题标题】:friends system with mysqlmysql好友系统
【发布时间】:2011-08-16 23:24:57
【问题描述】:
 //用户:
ID
姓名
密码

如何正确交友系统? 表友应该怎么看?

USERID | FRIENDID
user1id | user2id, user3id
user2id | user1id, user4id, user6id
user3id
user4id | user2id

例如点?

USERID | FRIENDIS
user1id | user2id
user1id | user3id
user2id | user1id
user2id | user4id

etc

? 谢谢

【问题讨论】:

标签: php mysql system


【解决方案1】:

这类表称为关系表或关联表。

由 2 个外键构成的表,用于提供多对多关系。您的最后一个示例正是您正在寻找的。那些逗号分隔的东西是最糟糕的做法!

编辑:一些额外的策略!

您希望同时获取“isFriendOf”(用户在您的“FRIENDS”列中)和“hasFriend”(用户在您的“USERID”列中)并比较这两者。

isFriendOf = "SELECT USERID FROM associationTable WHERE FRIEND LIKE 'userIamSearchingFor'";
hasFriend = "SELECT FRIEND FROM associationTable WHERE USERID LIKE 'userIamSearchingFor'";

更多细节? ;D

【讨论】:

  • 谢谢!以及如何从表用户中获取 user1id 中具有 user1id 名称的所有朋友?
猜你喜欢
  • 2013-04-28
  • 2011-08-30
  • 1970-01-01
  • 1970-01-01
  • 2017-03-24
  • 2011-04-29
  • 1970-01-01
  • 1970-01-01
  • 2020-09-01
相关资源
最近更新 更多