gpt4 book ai didi

mysql - SQL 更新加入错误

转载 作者:太空宇宙 更新时间:2023-11-03 11:07:42 25 4
gpt4 key购买 nike

我已经通读了一些关于加入 SQL 更新的其他问题,但未能完成查询。

系统全部在MySQL中(INNODB表结构)

我们想要更新一个表中的金额,这将根据另一个表中的 2 个变量增加金额。在更新中需要检查一些约束,以确保第二个表中的变量与要更新的表中的键匹配

UPDATE as1
SET as1.amount = as1.amount + (b1.workers * b1.level)
FROM account_stock AS as1
INNER JOIN building AS b1 ON as1.accountID = b1.accountID
INNER JOIN building_seed AS bs1 ON bs1.buildingID = b1.buildingID
WHERE bs1.stockID = as1.stockID
AND b1.accountID = as1.accountID
AND b1.locID = as1.locID
AND b1.status = active
AND b1.gTime > 0

出现错误,我无法选择它。对不起,如果这是一个简单的问题,我所有的 SQL 都是自学的,所以我的一些习惯不是很好!

最佳答案

UPDATE 的 MySQL 语法是不同的。没有FROM:

UPDATE 
account_stock AS as1
INNER JOIN building AS b1 ON as1.accountID = b1.accountID
INNER JOIN building_seed AS bs1 ON bs1.buildingID = b1.buildingID

SET as1.amount = as1.amount + (b1.workers * b1.level)

WHERE bs1.stockID = as1.stockID
AND b1.locID = as1.locID
AND b1.status = active
AND b1.gTime > 0 ;

--- removed duplicate :
--- AND b1.accountID = as1.accountID

另外: active 是一个专栏还是你打算写的?:AND b1.status = 'active'

关于mysql - SQL 更新加入错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10745742/

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