簡體   English   中英

從多行增加相同的列值

[英]Increase same column value from multiple rows

我正在使用打擊查詢來更新多行中的一列:

UPDATE table SET col = 
(case 
    when id = 1 then 10
    when id = 2 then 20
    when id = 3 then 30
end)

我知道如果我想增加col值,我應該這樣做:

UPDATE table SET col = col+10

但這不適用於更新行。
我也嘗試過:

when id = 1 then (@col := @col + 10)

但這也不起作用。
任何人都知道如何將這兩者相互連接,並在mysql的多行中增加一列的值?

尋找這個嗎?

UPDATE table SET col = if(@col is null, @col := col+10, @col)

或這個?

UPDATE table SET col = if(id = 1, col+10, if(id = 2, col + 20, col + 30))

如果我沒看錯:

UPDATE table SET col = col +
(case 
    when id = 1 then 10
    when id = 2 then 20
    when id = 3 then 30
end)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM