gpt4 book ai didi

php - 如何在一个订单中创建包含多个产品的数据库模型

转载 作者:行者123 更新时间:2023-11-29 05:19:17 25 4
gpt4 key购买 nike

我正在建立一个 SQL 数据库模型,用于跟踪包含具有一定数量的多个产品的订单。

该表必须有一个特定于该订单的键值,并且绝不会在表中的其他任何地方重复。

我正在考虑创建一个以 orderID 作为键值的行,然后是一个具有 productID 和数量(如“ProductID-Quantity”)的订单选项卡,以便它可以放在一个单元格中。棘手的部分是在这一行中使用多个不同的产品。可以像这样将所有产品及其数量插入一个单元格中:

"1100-3, 1500-1, 1600-8"

所以这是一个包含三种产品的单元格,分别订购了 3 次、1 次和 8 次。在 PHP 中读取它,用逗号和破折号分隔它们。

有什么方法可以更有效地做到这一点?

最佳答案

您所描述的听起来像是“多对多”关系。一个订单可以包含许多产品,但一个产品也可以是多行的一部分。

为此,您可以创建一个表 orders(其中可以存储其他信息,例如,它所属的用户 ID)以及您的 products 表。

现在你通过这样的方式连接它们

CREATE TABLE order_products (
orderid INT NOT NULL,
productid INT NOT NULL,
quantity INT NOT NULL,
PRIMARY KEY (orderid, productid),
FOREIGN KEY (orderid) REFERENCES orders (id),
FOREIGN KEY (productid) REFERENCES products (id)
);

要选择获取其产品的所有行,只需使用 JOIN .

关于php - 如何在一个订单中创建包含多个产品的数据库模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28086974/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com