gpt4 book ai didi

mysql - 更新多行

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

在数据库中,我有一个包含大量信息的表。我想要做的就是设置一个限制,其中数字和数字相同。我认为我走在正确的道路上,但我错过了一些东西。大家有什么想法吗?

UPDATE loc l
SET l.limit = (SELECT (lo.factor*j.limit)
FROM (SELECT limit, num, fig FROM loc WHERE typ = 'WE') j, loc lo
WHERE lo.typ = 'TR'
AND lo.num = j.num
AND lo.fig = j.fig )
WHERE l.typ = 'WE'

最佳答案

您可以通过加入做您想做的事情。但您正在采用相关子查询方法。

我怀疑问题是您的子查询与外部查询不相关。您需要删除子查询中的loc表:

UPDATE loc l
SET l.`limit` = (SELECT (lo.factor*j.`limit`)
FROM (SELECT `limit`, num, fig
FROM loc
WHERE typ = 'WE'
) j
WHERE l.typ = 'TR' AND
l.num = j.num AND
l.fig = j.fig
)
WHERE l.typ = 'WE';

此外,limit 是一个保留字。您不应该将其用作列名称。因为是,所以需要将其放在反引号或双引号中。

关于mysql - 更新多行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21718204/

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