0

私はこれが機能しないことを知っています:

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

ありがとう。

4

1 に答える 1

3

最も簡単なのは、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)
于 2012-04-18T16:31:40.427 に答える