mysql:複数のレコードを1つのクエリで更新する

私は現在、次のようなレコードを更新するために次のクエリ構文を使用しています:

update items set sort_index=1 where id=11
update items set sort_index=2 where id=33
update items set sort_index=3 where id=52

だから、私はそれが単一のクエリで複数のレコードを更新することは可能ですか? ありがとう

0

2 答え

はい、複数のレコードを1つのクエリで更新することは可能ですが、複数のレコードを異なるデータで更新することはできません。すべてのレコードは同じ「SET」条件で更新されます。

したがって、現在使用しているメソッドがこれらのレコードを更新する正しい方法です。ソートインデックスが1,2,3に更新される複数のレコードがある場合、それらのIDを収集して、次に収集したすべてのレコードを更新する

UPDATE items set sort_index=1 WHERE id IN (1,2,3); //where 1, 2 and 3 are the ids
4
追加された
最初のパラは、彼が何を描写することができないかを述べるが、それ以上のものがあれば、代わりに、上に示したようにグループ化することができる
追加された 著者 Jason Brumwell,
sort_indexがFuxiの質問の例ではなく同じである必要があるときに動作します。
追加された 著者 Moshe L,

はい、与えられた where の式に基づいて行を更新できます。

1
追加された