MySQLで複数レコードを更新するUPDATEの方法

当記事では以下のようなテーブルを想定。

テーブル

複数レコードをUPDATEする方法

更新するカラムが1つのとき

複数レコードのUPDATE

更新するカラムが2つ以上のとき

複数レコードのUPDATE

おまけ

  • レコードごとに別々の値に設定したいカラム
  • 全てのレコードに同じ値を設定したいカラム

が混じっているときの更新方法は以下の通り。

複数レコードのUPDATE

column1にはレコードごとに別々の値を設定しつつ、column2は全レコードが同じ値になる。

MEMO

“INSERT INTO ~ ON DUPULICATE KEY UPDATE ~”でも一度に複数行の更新をできる。

しかし、当該のSQLはあくまでも「INSERTもしくはUPDATEのどちらかを行う」という処理なので、「複数レコードのUPDATE」のみが目的なら使わない方が良い(後から見たときに”INSERT”があると挿入もしているように思えて紛らわしい)。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です