我知道这不起作用:
UPDATE `states` SET `country_id` = '83', `position` = (1,2,3) WHERE `states`.`id` IN (381, 378, 380);
有没有办法根据
更新行id = 381; position = 1
id = 378; position = 2
id = 380; position = 3
感谢。
答案 0 :(得分:3)
最简单的方法是使用三个单独的查询。
可以使用单个查询,但更复杂:
UPDATE states
SET country_id = '83',
position = CASE id WHEN 381 THEN 1
WHEN 378 THEN 2
WHEN 370 THEN 3 END
WHERE id IN (381, 378, 380)