MySQL'朋友'表

时间:2013-12-12 21:32:20

标签: mysql database-design

我正在尝试在MySQL中为'Friends'创建一个表。

我有一个'Users'表,其属性为'user_id',这是表的主键。

我想要一个友情表,允许用户将另一个用户添加为朋友。然而,该用户将仍然是新朋友的熟人。

例如,USER_A与USER_B连接,USER_B现在是USER_A的朋友,但USER_B没有将USER_A视为朋友,因此USER_A仍然只是USER_B的熟人。

1 个答案:

答案 0 :(得分:2)

您可以使用2列(伪代码)对表'Friends'进行建模:

Friends(from, to)
PrimaryKey(from, to)

在真正的mysql中:

CREATE TABLE Friends (from INT,
                      to INT,
                      PRIMARY KEY(from, to))

假设您有一个带有整数作为主键的Users表。

然后,如果从= USER_A插入到= USER_B,则您的预期语义已经被尊重。 因为您还可以添加另一行,其中包含= USER_B和= USER_A。