php - MySQL DB 字段的多个数据

标签 php mysql

也许我从来没有在正确的地方搜索过,但我经常想知道在一个字段中存储多个数据的最佳做法是什么,我从来没有找到我可以使用的答案。

让我举个例子更清楚。

假设我在 user_table

中有一个“爱好”字段

当用户注册时,他想将网球视频游戏钢琴添加到他的个人资料中。

是否更好:

  1. 为每个爱好创建不同的字段,例如:hobby_id_1、hobby_id_2、hobby_id_3

  2. 或者创建一个名为 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/

相关文章:

PHP 混淆了 ä、ö、ü 等字母

php - MySQL 日期时间 - XAXIS HGHCHART

php - Mysql 使用 OR 的选择语句

mysql - MAMP存储过程: Commands out of sync error

php - 多个数据库连接(不需要)

php - 在 mysql 中创建表的 php 代码的意外行为

php - array to string 转换错误,需要先 explode 再内爆

php - 使用 PHP 创建 PowerPoint 文件

php - Laravel 5.4 - 使用正则表达式进行验证

mysql - (Mysql 错误 : #1215 - Cannot add foreign key constraint) for my program