此查询有什么问题?
UPDATE user166x136
SET desc = CASE id
WHEN 18 THEN 'apple' WHEN 14 THEN 'banana' WHEN 21 THEN 'pear' WHEN 17 THEN 'orange' WHEN 19 THEN 'lemon'
END
WHERE id IN (18,14,21,17,19)
id
是INT
desc
为VARCHAR
答案 0 :(得分:1)
DESC
是reserved keyword。如果您要使用它,则必须将其包裹在刻度线中。
SET `desc` = CASE id
您在orange
WHEN 17 THEN orange'
^^^^
HERE
应该是
WHEN 17 THEN 'orange'
最后,正如Minh指出的那样,你错过了CASE
中的END CASE
END CASE
所以你有一个错误的帽子戏法。
答案 1 :(得分:0)
我认为你错过了END CASE
关键字
UPDATE user166x136
SET `desc` = CASE id
WHEN 18 THEN 'apple'
WHEN 14 THEN 'banana'
WHEN 21 THEN 'pear'
WHEN 17 THEN 'orange'
WHEN 19 THEN 'lemon'
END CASE
WHERE id IN (18,14,21,17,19)