更新分数时出现MySQL语法错误

时间:2017-03-14 23:50:50

标签: mysql

UPDATE game_score SET 
    score=
        (CASE name 
         WHEN 'player1' THEN score+50 
         WHEN 'player2' THEN score+47 
    END)
WHERE name IN 
('player1', 
 'player2')

得分+50和得分+ 47会出现语法错误,如果我执行WHEN 'player1' THEN '50'WHEN 'player2' THEN '47',则会有效。但我需要加上得分值。

1 个答案:

答案 0 :(得分:1)

为什么不做:

UPDATE game_score SET 
    score= score + 
        (CASE name 
         WHEN 'player1' THEN 50 
         WHEN 'player2' THEN 47 
    END)
WHERE name IN 
('player1', 
 'player2')