gpt4 book ai didi

mysql - SQL:如何用一个id引用多个数据集?

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

我想创建一个包含订单的表“订单”。它应具有包括 userID 和 orderID 的字段。在另一个名为“orderItems”的表中,我想列出引用一个订单的所有项目。问题是,引用一个订单的所有项目应该只通过一个 ID 查询。因为可能只在“订单”的 orderID 字段中设置此 ID。

那么,我该如何创建索引呢?有可能那样实现吗?您对如何改进这个方案有什么建议吗?

我希望你明白,我想告诉你的是什么。

提前致谢,马可

最佳答案

您描述的情况最好通过使用 ORDER_ID 列的 OrderOrderItems 表之间的外键来解决。

无法将 ORDER_ID 用作每个 ORDER_ITEM 的主键,因为该键不是唯一的。

DDL

create table `order`(
order_id int NOT NULL,
customer_name varchar(50),
primary key(order_id)
);

create table order_item(
order_item_id int NOT NULL,
order_id int,
item_name varchar(50),
primary key(order_item_id),
foreign key(order_id) references `order`(order_id)
);

完成此 DDL 设置后,您可以通过连接两个表使用一个键轻松引用订单。

select * from
`order` o
join order_item oi
on o.order_id = oi.order_id
where o.order_id = 5;

关于mysql - SQL:如何用一个id引用多个数据集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17316725/

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