gpt4 book ai didi

mysql - 基于两个外键更新 SQL 中的列

转载 作者:行者123 更新时间:2023-11-30 21:57:54 27 4
gpt4 key购买 nike

我想知道您将如何继续通过组合两个外键来更新列。

我有一张表,FoodPackage,它看起来像这样:

create table FoodPackage(
PackageNumber int primary key auto_increment,
name varchar(45),
price int);

另一个表 Product,如下所示:

create table Product(
ProductID int primary key auto_increment,
Category varchar(45),
ProductName varchar(45),
Price int,
Allergy varchar(45));

最后是订单,如下所示:

create table Orders(
Ordernumber int primary key auto_increment,
PackageNumber int not null,
ProductID int not null,
UserID int not null,
Frequency int,
TotalPrice int,
OrderStatus varchar(45),
FOREIGN KEY(PackageNumber)
REFERENCES FoodPackage(PackageNumber),
FOREIGN KEY(ProductID)
REFERENCES Product(ProductID),
FOREIGN KEY(UserID)
REFERENCES Users(UserID));

我想做的是根据 FoodPackage.price 和 Product.Price 的组合值更新 totalprice 列。我试过使用这样的更新语句:

UPDATE Orders, FoodPackage, Product SET Orders.TotalPrice= FoodPackage.Price + Product.Price;

但是,这只会给我一个常数值。

非常感谢任何帮助!

最佳答案

您需要表之间的连接条件。

UPDATE Orders AS o
JOIN FoodPackage AS f ON o.PackageNumber = f.PackageNumber
JOIN Product AS p ON o.ProductID = p.ProductID
SET o.TotalPrice = f.Price + p.Price

关于mysql - 基于两个外键更新 SQL 中的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44424719/

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