gpt4 book ai didi

mysql - MYSQL 中的内联 UPDATE 不起作用

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

该语法不起作用并在 @rt:= 上返回错误 #1064 错误 ...我不知道该变量应该放在哪里才能发挥作用。

UPDATE table 
@rt:=@rt+quantity;
INNER JOIN (SELECT @rt:=0) AS init ON 1=1
SET status='1'
WHERE price<10
AND @rt<=22

带有 SELECT 的工作表 http://sqlfiddle.com/#!2/1f125c

最佳答案

一种方法是:

UPDATE `table`
SET status = '1'
WHERE price < 10
limit 22;

您不需要变量来限制行数。这将更新价格满足 where 子句中的条件的 22 行。这是我对你想要做什么的最好猜测。

编辑:

哦,您正在尝试获取数量的总和。也许这会做你想要的:

UPDATE `table` cross join
(SELECT @rt := 0) vars
SET status = if((@rt := @rt + quantity) <= 22, '1', status)
WHERE price < 10;

SQL Fiddle 是 here .

关于mysql - MYSQL 中的内联 UPDATE 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24945517/

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