也许我从来没有在正确的地方搜索过,但我经常想知道在一个字段中存储多个数据的最佳做法是什么,我从来没有找到我可以使用的答案。
让我举个例子更清楚。
假设我在 user_table
当用户注册时,他想将网球
、视频游戏
和钢琴
添加到他的个人资料中。
是否更好:
为每个爱好创建不同的字段,例如:
hobby_id_1、hobby_id_2、hobby_id_3
或者创建一个名为 hobbys 的字段并插入以逗号分隔的数据?爱好编号 => 1,4,5 (这个解决方案真的可行吗?)
然后,当我们想要更新这些数据并添加新爱好时,我们该怎么做?
任何小帮助将不胜感激。
提前谢谢你:)
最佳答案
这属于多对多关系。
为了存储多对多关系,需要一个中间表,主要存储每个关系的主键(ID)。在你的情况下,
users_table(user_id, firstname,...)
hobbies_table(hobby_id, name,...)
users_hobbies_table(id, user_id, hobby_id)
Here是一个更详尽的解释。
关于php - MySQL DB 字段的多个数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31398068/