我正在将我的C ++程序连接到MySQL服务器,而且我有点困难。
每个用户都有一个联系人/朋友列表(当然)拥有其他用户。我不确定如何将用户与数据库中的其他用户实际关联。什么数据类型可以用于这样的任务?
我唯一能想到的可能就是让一个文本字段的数字用空格分隔,并在每次用户连接时解析它。但由于某种原因,这对我来说听起来非常不对,所以我不确定。
你能推荐什么?谢谢。
答案 0 :(得分:1)
我唯一能想到的可能就是让一个文本字段的数字用空格分隔,并在每次用户连接时解析它。但出于某种原因,这对我来说听起来非常错误
这听起来对我来说也是一个坏主意。
你想要多对多的关系:
contact
user friend
1 2
1 3
1 5
2 4
3 1
请注意,在联系人列表中,您可能希望为每个联系人列表条目存储其他属性。例如,用户可能希望更改在他们自己的联系人列表中显示的名称。例如,如果用户1想要将用户3的名称显示为“foo”,则表格可能如下所示。
contact
user friend displayName
1 2 NULL
1 3 'foo'
1 5 NULL
2 4 NULL
3 1 NULL
此处NULL
表示用户尚未为其联系人指定首选显示名称,因此应显示联系人姓名。