我有网上商店,有简单的产品(1个产品有1个价格,1个颜色和1场买入计数)。 我想要扩展的是(1个产品有X个价格和X个颜色,并且购买了每种颜色的单独计数)。 因此,对于所有值具有特定字段数的常规方法在此不起作用。如何将未知量的数据存储在mysql表中?
所以我的问题:我将如何存储未知的1个产品的价格和颜色的数量,并购买了每种产品的数量?
我是否序列化来自php的数据并将其存储在BLOB字段类型中?会有什么建议或行业做这种事情的标准方式?
谢谢。
我有网上商店,有简单的产品(1个产品有1个价格,1个颜色和1场买入计数)。 我想要扩展的是(1个产品有X个价格和X个颜色,并且购买了每种颜色的单独计数)。 因此,对于所有值具有特定字段数的常规方法在此不起作用。如何将未知量的数据存储在mysql表中?
所以我的问题:我将如何存储未知的1个产品的价格和颜色的数量,并购买了每种产品的数量?
我是否序列化来自php的数据并将其存储在BLOB字段类型中?会有什么建议或行业做这种事情的标准方式?
谢谢。
您应该阅读关系数据库,因为它是一个工业标准。在你的例子中,你可以有一个具有特定ProductID
的表,并且你的后续表将通过参考表将它们自己的数据行引用到特定的ProductID
。
下面是一个非常基本的例子,说明如何让产品表达多种颜色。
Products (table 1)
------------------
ProductID (int 20)
ProductName (varchar 250)
Description (text)
ProductPrice (float)
ProductToColor (table 2)
------------------------
ProductID (int 20)
ColorID (int 20)
Color (table 3)
----------------
ColorID (int 20)
ColorName (varchar 250)
Description (text)
一个非常基本的SQL来获取所有正在某个特定产品ID的颜色会是:
SELECT ProductID,Color.* FROM Products LEFT JOIN ProductToColor ON Product.ProductID = ProductToColor.ProductID LEFT JOIN Color ON ProductToColor.ColorID = Color.ColorID WHERE Product.ProductID = "1";
您应该创建一个单独的ProductColor
表,其中ProductId
,Color
和Price
列,每个产品每个颜色一行。