我需要在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/