【发布时间】:2015-01-22 10:53:36
【问题描述】:
我正在建立一个 SQL 数据库模型,用于跟踪具有一定数量的多个产品的订单。
表必须有一个特定于该顺序的键值,并且不能在表中的其他任何地方重复。
我正在考虑创建一个具有 orderID 作为键值的行,然后创建一个具有 productID 和数量的 Order 选项卡,例如“ProductID-Quantity”,以便可以将其放置在一个单元格中。棘手的部分是在这一行中采用多种不同的产品。可以将所有产品及其数量插入一个单元格中,如下所示:
"1100-3, 1500-1, 1600-8"
所以这是一个单元格,其中三个产品订购了 3 次、1 次和 8 次。在 PHP 中读取它,用逗号和破折号分隔它们。
有什么方法可以更有效地做到这一点?
【问题讨论】:
-
将每个数据放在一个单独的字段中,而不是将它们组合起来。订单号,产品号。因此,如果有一个订单包含 3 次相同的产品,您将有 3 条记录(数量)
-
但是我不再有唯一的键值,然后你得到 1 行 productID 1 和一个产品,另一行 productID 1 和另一个产品,所以你只是分开问题。
-
您的唯一键是 orderid。它可以是一个增量值。
-
是的,但是一个客户对同一个订单有多个订单 ID,我必须能够打印出一个订单一个唯一的订单 ID(包括在所述订单中订购的每个产品)
-
fields = Customerid, orderid, productid,quantity data(first item)= 10,100,1234,2 data(second item) = 10,100,4567,3
标签: php mysql database-design