【问题标题】:Mysql Friend database table model [closed]Mysql Friend数据库表模型[关闭]
【发布时间】:2015-02-13 23:27:01
【问题描述】:

我目前有一个聊天和用户表。聊天将供用户向另一个用户发送消息,但前提是您是他们的朋友。虽然目前是公开的。我将如何使用朋友表来确定这两个用户是否有链接。 用户表包括:id、email、password、firstname、lastname、age...等。id 是自动递增的。 我将如何创建朋友表?

【问题讨论】:

  • 一个有两个用户标识的表应该是最基本的。
  • 如:id、my_id、friend_id 虽然你会如何确定两者之间的联系呢?
  • 你怎么会不呢?当然,使用连接在您正在查看的用户的用户 ID 上加入用户表和朋友表。 (查找 SQL 教程)

标签: php html mysql database


【解决方案1】:

创建链接表“friend_links”

列:friend_id_1 |朋友id_2

(还对friend_id_1 +friend_id_2设置唯一约束,并使它们成为引用用户表中user_id的外键)

每次某人成为其他人的朋友时,您都会将他们的 id 添加到表中。

INSERT IGNORE INTO `friend_links` (friend_id_1, friend_id_2) VALUES (5,10);

要确定两个用户是否是朋友:

SELECT FROM `friend_links` WHERE (friend_id_1 = 5 AND friend_id_2 =10) OR (friend_id_1 = 10 AND friend_id_2 = 5);

如果你得到超过 0 个结果,他们就是朋友。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-08-13
    • 1970-01-01
    • 2017-12-21
    • 2016-09-11
    • 2012-10-18
    • 2010-10-26
    相关资源
    最近更新 更多