MySQL数据库字段的多个数据

5
也许我从来没有在正确的地方搜索,但我经常想知道在一个字段中存储多个数据的最佳实践是什么,我从未找到可以使用的答案。
让我用一个例子更清楚一些。
假设我在“user_table”中有一个“hobbys”字段。
当用户注册时,他想将网球、视频游戏和钢琴添加到他的个人资料中。
哪种方法更好:
1.为每个爱好创建不同的字段,例如:hobby_id_1、hobby_id_2、hobby_id_3
2.或者创建一个名为hobbys的单个字段,并用逗号分隔插入数据?hobbys_id => 1,4,5(这种解决方案是否可行?)
然后,当我们想要更新这些数据并添加新的爱好时,我们该怎么做?
非常感谢您的任何小帮助。
提前致谢 :)
1个回答

6
这属于多对多关系。
为了存储多对多关系,需要一个中间表格,主要存储每个关系的主键(ID)。在您的情况下,

users_table(user_id, firstname,...)

hobbies_table(hobby_id, name,...)

users_hobbies_table(id, user_id, hobby_id)

这里有更详细的解释。

1
听起来很合理,也很容易理解。 - Valentincognito

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接