“FriendList”的MYSQL复合键

时间:2014-01-18 00:44:45

标签: mysql composite-primary-key

我有一张桌子,我正在存储“朋友”关联。所以第1列是userID,column2是friendID(其中friendID只是users表中的另一个userID。

我一直计划每个关系有两个条目。为了解释,假设用户100希望成为200的朋友。我的表格看起来像这样:

USERID = 100
FRIENDID = 200
STATUS = 'friend'

但是呢

USERID = 200
FRIENDID = 100
STATUS = 'friend'

他们接受朋友请求后。这个想法是两个方向都定义了这种关系,所以我可以根据他们是“请求友谊”还是用户想要对朋友进行分类或自定义笔记来设置不同的状态。

我想使用userID和FriendID列作为复合键,但是如果我在两个地方使用相同的userID和FriendID组合(即使它们被颠倒了),MYSQL也会消失吗?

1 个答案:

答案 0 :(得分:1)

您应该将FriendID和UserID作为复合键。这意味着您不能为同一个友谊提供2种不同的状态。为什么MySQL会崩溃?