Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/269.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-一列中包含多个数据_Php_Mysql_Database Design - Fatal编程技术网

PHP MYSQL-一列中包含多个数据

PHP MYSQL-一列中包含多个数据,php,mysql,database-design,Php,Mysql,Database Design,我需要在mysql中存储100-200个数据,这些数据将被管道分隔 知道如何将其存储在mysql上吗?我应该使用单个列还是多个列?我不知道到底有多少数据用户会输入 我做了一个表单,它停在需要存储多个数据的地方 有人知道如何在一列中存储多个数据,或者有其他方法吗 请帮帮我 非常感谢如果您有一个表单,该数据来自该表单,请将表单中的每个输入存储到它自己的单独列中 查找数据中的关系:听起来您有一个“has many”关系,这表明您可能需要一个链接表,可以在其中执行简单的连接查询 在一列中存储多个数据对于

我需要在mysql中存储100-200个数据,这些数据将被管道分隔

知道如何将其存储在mysql上吗?我应该使用单个列还是多个列?我不知道到底有多少数据用户会输入

我做了一个表单,它停在需要存储多个数据的地方

有人知道如何在一列中存储多个数据,或者有其他方法吗

请帮帮我


非常感谢

如果您有一个表单,该数据来自该表单,请将表单中的每个输入存储到它自己的单独列中

查找数据中的关系:听起来您有一个“has many”关系,这表明您可能需要一个链接表,可以在其中执行简单的连接查询


在一列中存储多个数据对于查询和更新来说将是一场噩梦,除非您存储XML,否则它会给我带来噩梦…

如果您有一个表单,该数据来自该表单,请将表单中的每个输入存储到它自己的单独列中

查找数据中的关系:听起来您有一个“has many”关系,这表明您可能需要一个链接表,可以在其中执行简单的连接查询


在一列中存储多个数据对于查询和更新来说将是一场噩梦,除非您正在存储XML,否则它会给我带来噩梦…

听起来您需要一个联接表。在两个表中都有您需要的数据,创建第三个具有两个表ID的表,那么您是否需要100、200、300或更多都无关紧要。

听起来您需要一个联接表。在两个表中都有您需要的数据,创建第三个表,其中包含两个表的ID,那么您是否需要100、200、300或更多都无关紧要。

您应该使用数据源的ID实现您的表。此ID将用于对所有这些相似数据进行分组,这样您就不需要事先知道有多少数据

您的表列和数据可以这样设置:

sourceID        data
--------        ----
       1         100
       1         200
       1         300
       2         100
       3         100
       3         200
SELECT userID, userName, data, otherData
FROM userTable
LEFT JOIN dataTable
ON userTable.userID = dataTable.sourceID
WHERE userTable.userID = 1
当您查询数据库时,只需拉入具有相同sourceID的所有数据。对于上面的数据,下面的查询将返回两条数据

SELECT data
FROM dataTable
WHERE sourceID = 3
如果有多个表,则需要使用
JOIN
语法将它们相互关联。假设您有一个包含用户数据的主表,并且希望将所有这些输入数据与每个用户关联

userID    userName    otherData
------    --------    ---------
     1         Bob          xyz
     2         Jim          abc
     3         Sue        lmnop
如果要将此表(userTable)中的数据与dataTable中的数据连接起来,请使用如下查询:

sourceID        data
--------        ----
       1         100
       1         200
       1         300
       2         100
       3         100
       3         200
SELECT userID, userName, data, otherData
FROM userTable
LEFT JOIN dataTable
ON userTable.userID = dataTable.sourceID
WHERE userTable.userID = 1
此查询将为ID为1的用户提供所有数据。这假设数据表中的sourceID使用用户表中的userID来跟踪额外数据属于谁


注意,这不是SQL中唯一的连接语法。您可以了解其他类型的联接。

您应该使用数据源的ID实现表。此ID将用于对所有这些相似数据进行分组,这样您就不需要事先知道有多少数据

您的表列和数据可以这样设置:

sourceID        data
--------        ----
       1         100
       1         200
       1         300
       2         100
       3         100
       3         200
SELECT userID, userName, data, otherData
FROM userTable
LEFT JOIN dataTable
ON userTable.userID = dataTable.sourceID
WHERE userTable.userID = 1
当您查询数据库时,只需拉入具有相同sourceID的所有数据。对于上面的数据,下面的查询将返回两条数据

SELECT data
FROM dataTable
WHERE sourceID = 3
如果有多个表,则需要使用
JOIN
语法将它们相互关联。假设您有一个包含用户数据的主表,并且希望将所有这些输入数据与每个用户关联

userID    userName    otherData
------    --------    ---------
     1         Bob          xyz
     2         Jim          abc
     3         Sue        lmnop
如果要将此表(userTable)中的数据与dataTable中的数据连接起来,请使用如下查询:

sourceID        data
--------        ----
       1         100
       1         200
       1         300
       2         100
       3         100
       3         200
SELECT userID, userName, data, otherData
FROM userTable
LEFT JOIN dataTable
ON userTable.userID = dataTable.sourceID
WHERE userTable.userID = 1
此查询将为ID为1的用户提供所有数据。这假设数据表中的sourceID使用用户表中的userID来跟踪额外数据属于谁

注意,这不是SQL中唯一的连接语法。您可以了解其他类型的联接