从多行增加相同的列值

时间:2017-05-11 20:07:38

标签: php mysql sql increment

我使用点击查询来更新多行中的列:

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的多行中增加一列的值?

2 个答案:

答案 0 :(得分:0)

寻找这个?

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))

答案 1 :(得分:0)

如果我理解你的话:

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