gpt4 book ai didi

mysql - 使用不同的值集更新多个(不是全部)行 - MySQL

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

我有下表 - pms_samplebucket:

partid | qty | inqty
--------------------
4 | 5 | 3
5 | 10 | 5
6 | 10 | 5
7 | 10 | 5 ----- n rows

我想按如下方式更新此表:

  • IF partid = '4' THEN inqty = inqty - 2;
  • IF partid = '5' THEN inqty = inqty - 4;

是否可以在单个 UPDATE 或 INSERT INTO .... ON DUPLICATE KEY UPDATE 语句中执行此操作?

  1. 我不想要多个查询。
  2. partid 值和减法值将作为输入提供。

谢谢。

最佳答案

是的:

update t
set inqty = (case when partid = 4 then inqty - 2
when partid = 5 then inqty - 4
else inqty
end)
where partid in (4, 5);

关于mysql - 使用不同的值集更新多个(不是全部)行 - MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51718439/

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