是否有任何解决方案在数据库表中将集合作为单独的列插入。例如:
表:OrderDetails
的OrderId
客户编号
ProductId - >这应该是一个数组或列表(ProductIds)
...
在mysql中是否有类似数组或列表的东西,还是应该根据不同产品的数量将订单分成单独的订单?
非常感谢。
答案 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>