匹配彼此喜欢的用户 - 如何存储此信息

时间:2014-01-28 16:43:26

标签: sql arrays matching

我想创建一个可以互相喜欢的用户数据库。当用户(例如用户1)喜欢用户2时,应该存储该用户。如果用户2随后喜欢用户1,那么他们都应该被告知。我无法弄清楚如何为此构建SQL表。我想要实现这一点的方法是为每个用户创建一个喜欢的数组,在这些用户中存储他们喜欢的用户。因此,如果用户1喜欢用户2,3,4和5,则将其存储在类似于阵列的用户1中。如果用户2然后喜欢用户1,那么将检查用户1,例如阵列用户2。

据我所知,SQL中没有数组,那么最简单的替代方法是什么呢?

1 个答案:

答案 0 :(得分:1)

创建“联接表”:

CREATE TABLE user_loves_user (
    user_id1 int NOT NULL,
    user_id2 int NOT NULL
);

ALTER TABLE user_loves_user ADD PRIMARY KEY (user_id1, user_id2) ;

使用您的user表格,就足以做您想做的事了。