Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php MySQL DB字段的多个数据_Php_Mysql - Fatal编程技术网

Php MySQL DB字段的多个数据

Php MySQL DB字段的多个数据,php,mysql,Php,Mysql,也许我从来没有在正确的地方搜索过,但我经常想知道在一个字段中存储多个数据的最佳实践是什么,我从来没有找到我可以使用的答案 让我举个例子更清楚地说明一下 假设我在user\u表中有一个“hobbys”字段 当用户注册时,他希望将网球、视频游戏和钢琴添加到他的个人资料中 是否更好: 为每个爱好创建不同的字段,如:hobby\u id\u 1、hobby\u id\u 2、hobby\u id\u 3 或者创建一个名为hobbys的字段并插入用逗号分隔的数据?霍布斯id=>1,4,5 (这个解决方案实

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

让我举个例子更清楚地说明一下

假设我在
user\u表中有一个“hobbys”字段

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

是否更好:

  • 为每个爱好创建不同的字段,如:
    hobby\u id\u 1、hobby\u id\u 2、hobby\u id\u 3

  • 或者创建一个名为hobbys的字段并插入用逗号分隔的数据?霍布斯id=>1,4,5 (这个解决方案实际上可行吗?)

  • 然后当我们想更新这些数据,比如说增加一个新的爱好时,我们该怎么做呢

    任何小小的帮助都将不胜感激


    提前感谢:)

    这属于多对多关系

    为了存储多对多关系,需要一个主要存储每个关系的主键(ID)的中间表。就你而言

    用户表(用户id、名字等)

    嗜好表(嗜好id、姓名等)

    用户爱好表(id、用户id、爱好id)


    这是一个更为详尽的解释。

    听起来合法且易懂