Mysql Friend数据库表模型


Mysql Friend database table model

我现在有一个聊天&users表。聊天将允许用户给另一个用户发信息,但前提是你是他们的朋友。尽管它目前是公开的。我将如何使用好友表来确定这两个用户是否有链接。用户表包括:id、电子邮件、密码、名字、姓氏、年龄。。。等等id是自动递增的。我该如何创建朋友表?

创建链接表"friend_links"

列:friend_id_1|friend_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个以上的结果,他们就是朋友。