我正在尝试在MySQL中为'Friends'创建一个表。
我有一个'Users'表,其属性为'user_id',这是表的主键。
我想要一个友情表,允许用户将另一个用户添加为朋友。然而,该用户将仍然是新朋友的熟人。
例如,USER_A与USER_B连接,USER_B现在是USER_A的朋友,但USER_B没有将USER_A视为朋友,因此USER_A仍然只是USER_B的熟人。
答案 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。