我正在将我的 C++ 程序连接到 MySQL 服务器,但我遇到了一些困难。
每个用户都有一个联系人/朋友列表,(当然)包含其他用户。我不确定如何将用户与数据库中的其他用户实际关联起来。什么数据类型可以用于这样的任务?
我唯一能想到的可能是有一个用空格分隔数字的文本字段,并在每次用户连接时解析它。但由于某种原因,这对我来说听起来非常错误,所以我不确定。
你能推荐什么?谢谢你。
我唯一能想到的可能是有一个用空格分隔数字的文本字段,并在每次用户连接时解析它。但出于某种原因,这对我来说听起来很不对劲
这听起来对我来说也是个坏主意。
你想要一个多对多的关系:
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
意味着用户没有为其联系人指定首选显示名称,因此应显示联系人的姓名。