是否有任何解决方案在数据库表中插入集合作为单独的列 . 例如:
表:OrderDetails的OrderId顾客IDProductId - >这应该是一个数组或列表(ProductIds)...
在mysql中是否有类似数组或列表的东西,还是应该根据不同产品的数量将订单拆分成单独的订单?
谢谢你提前 .
您不应该将列表放入列中 . 您需要的是一个名为Products的独立表 .
该表将包含OrderId列和ProductId列 . 如果您有特定订单的3个产品,那么您将在products表中为该订单分配3行 . 您可以在产品表的一行中将一个元素放在列表中 .
Table: Products OrderId ProductId
这称为规范化,在设计关系数据库时是一个重要的事情 .
我'd suggest reading up a little on 799538 . Ideally, you' d得到Boyce-Codd Normal Form . 见The Wikipedia on the topic
如果您不想加入,可能不想使用关系数据库,可能需要考虑一个对象存储或noSQL解决方案,它可以让您直接存储JSON文档 .
2 回答
您不应该将列表放入列中 . 您需要的是一个名为Products的独立表 .
该表将包含OrderId列和ProductId列 . 如果您有特定订单的3个产品,那么您将在products表中为该订单分配3行 . 您可以在产品表的一行中将一个元素放在列表中 .
这称为规范化,在设计关系数据库时是一个重要的事情 .
我'd suggest reading up a little on 799538 . Ideally, you' d得到Boyce-Codd Normal Form . 见The Wikipedia on the topic
如果您不想加入,可能不想使用关系数据库,可能需要考虑一个对象存储或noSQL解决方案,它可以让您直接存储JSON文档 .