gpt4 book ai didi

mysql - 在 mysql 中建模一个或多个关系

转载 作者:行者123 更新时间:2023-11-29 23:19:06 28 4
gpt4 key购买 nike

我想知道如何在 mysql 中建模以下关系。以下 ERD 显示了我的设计

enter image description here

一个订单只有一个个产品,一个产品有多个个订单

这是我到目前为止所拥有的,但不太确定如何强制执行约束

-- Order table
CREATE TABLE Order (
orderId INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
date DATETIME,
serialNumber INT NOT NULL
);

-- Address table
CREATE TABLE Product (
serial_No INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
manufacturer VARCHAR(30) NOT NULL,
model VARCHAR(30) NOT NULL,
ram VARCHAR(30) NOT NULL
);

-- Join table
CREATE TABLE Order_Product (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
orderId INT NOT NULL,
serial_No INT NOT NULL
);

最佳答案

根据评论,您想要如下所示的内容。然后,创建一个外键约束,强制 Order.productSerial 的值必须是 Product 中的有效serial_NO。 (参见http://dev.mysql.com/doc/refman/5.6/en/create-table-foreign-keys.html)。您可以SELECT * FROM Order where productSerial = (whatever)来查找产品的所有订单,或者在 Order.productSerial 和 Product.serial_No 之间进行 JOIN。

-- Order table
CREATE TABLE Order (
orderId INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
productSerial INT(6) NOT NULL,
date DATETIME,
serialNumber INT NOT NULL
);

-- Address table
CREATE TABLE Product (
serial_No INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
manufacturer VARCHAR(30) NOT NULL,
model VARCHAR(30) NOT NULL,
ram VARCHAR(30) NOT NULL
);

关于mysql - 在 mysql 中建模一个或多个关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27498090/

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