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

任何想法如何将其存储在mysql上?我应该使用单个列还是应该创建多个列?我不知道用户将输入多少数据。

我做了一个表格,它在需要存储多个数据的部分停止了。

有谁知道如何在单个列中存储多个数据,或者有其他替代方法吗?

请帮我..

非常感谢你

最佳答案

您应该使用ID作为数据源来实现表。此ID将用于对所有这些相似数据进行分组,因此您无需事先知道有多少。

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

sourceID        data
--------        ----
       1         100
       1         200
       1         300
       2         100
       3         100
       3         200


查询数据库时,您只需提取具有相同sourceID的所有数据即可。使用上面的数据,以下查询将返回两段数据。

SELECT data
FROM dataTable
WHERE sourceID = 3


如果有多个表,则需要使用JOIN语法将它们彼此关联。假设您有一个包含用户数据的主表,并且要将所有这些输入数据与每个用户相关联。

userID    userName    otherData
------    --------    ---------
     1         Bob          xyz
     2         Jim          abc
     3         Sue        lmnop


如果要将此表(userTable)中的数据与dataTable中的数据联接,请使用如下查询:

SELECT userID, userName, data, otherData
FROM userTable
LEFT JOIN dataTable
ON userTable.userID = dataTable.sourceID
WHERE userTable.userID = 1


此查询将为您提供ID为1的用户的所有数据。这假设您数据表中的sourceID使用用户表中的userID来跟踪额外数据属于谁。

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

关于php - PHP MYSQL-一列中包含许多数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/292618/

10-11 07:24
查看更多