gpt4 book ai didi

mysql - 使用 SELECT 语句进行更新,但在每次更新时重新选择

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

我正在尝试通过选择最大的数字并向其添加 1 以生成下一行来更新 MySQL 中的多行。

UPDATE orders SET delivery_number = (
SELECT new_number FROM (
SELECT (
MAX(delivery_number) + 1
) AS new_number FROM order_invoice
) AS result
) WHERE delivery_number = 0 AND invoice_number != 0;

上面的查询似乎只选择一次,然后每次更新都使用相同的数字。

如何强制它再次扫描表以查找每次更新的最大数字?

最佳答案

update orders, (select @n:=max(delivery_number) from order_invoice) n 
set delivery_number = @n:=@n+1
where delivery_number = 0 and invoice_number != 0;

关于mysql - 使用 SELECT 语句进行更新,但在每次更新时重新选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32251402/

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