我目前正在聊天&用户表。聊天将由用户向另一个人发送消息,但前提是您是他们的朋友。虽然它目前是公开的。我怎么会使用friend表来确定这两个用户是否有链接。 用户表包括:id,email,password,firstname,lastname,age ...等id为自动增量。 我将如何创建朋友表?
答案 0 :(得分:0)
创建链接表“friend_links”
列:friend_id_1 | friend_id_2
(还在friend_id_1 + friend_id_2上添加了一个唯一约束,并使它们成为引用users表中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,他们就是朋友。