将集合插入数据库

时间:2014-08-20 13:21:39

标签: mysql

是否有任何解决方案在数据库表中将集合作为单独的列插入。例如:

表:OrderDetails

的OrderId 客户编号
ProductId - >这应该是一个数组或列表(ProductIds)
...

在mysql中是否有类似数组或列表的东西,还是应该根据不同产品的数量将订单分成单独的订单?

非常感谢。

2 个答案:

答案 0 :(得分:1)

您不应该将列表放入列中。您需要的是一个名为Products的单独表格。

此表将包含OrderId列和ProductId列。如果您有3个产品用于特定订单,那么您将在产品表中为该订单分配3行。您可以在产品表中的一行中将一个元素放在列表中。

Table: Products
OrderId
ProductId

这称为规范化,在设计关系数据库时是一个重要的事情。

答案 1 :(得分:0)

我建议稍微阅读"规范化"。理想情况下,您可以使用Boyce-Codd Normal Form。见The Wikipedia on the topic

如果您不想加入联盟,您可能不想使用关系数据库,并且可能想要考虑一个对象存储或noSQL解决方案,它可以让您直接存储JSON文档。 / p>