ホームページ > データベース > mysql チュートリアル > 複数の MySQL 行を同時に更新するにはどうすればよいですか?

複数の MySQL 行を同時に更新するにはどうすればよいですか?

DDD
リリース: 2025-01-21 20:07:14
オリジナル
810 人が閲覧しました

How Can I Update Multiple MySQL Rows Simultaneously?

MySQL: 複数の行を効率的に更新する

質問: 複数の MySQL 行を同時に更新することは可能ですか?

答え: もちろんです! INSERT ... ON DUPLICATE KEY UPDATE ステートメントは効率的なソリューションを提供します。

例:

次のような構造のテーブルがあり、いくつかの更新を適用する必要があるとします。

Name id Col1 Col2
Row1 1 6 1
Row2 2 2 3
Row3 3 9 5
Row4 4 16 8

必要なアップデート:

  • UPDATE table SET Col1 = 1 WHERE id = 1;
  • UPDATE table SET Col1 = 2 WHERE id = 2;
  • UPDATE table SET Col2 = 3 WHERE id = 3;
  • UPDATE table SET Col1 = 10 WHERE id = 4;
  • UPDATE table SET Col2 = 12 WHERE id = 4;

INSERT ... ON DUPLICATE KEY UPDATEを使用した統合アップデート:

複数の個別の UPDATE ステートメントの代わりに、単一のより効率的なクエリで同じ結果を得ることができます。

<code class="language-sql">INSERT INTO table (id, Col1, Col2) VALUES (1, 1, 1), (2, 2, 3), (3, 9, 3), (4, 10, 12)
ON DUPLICATE KEY UPDATE Col1 = VALUES(Col1), Col2 = VALUES(Col2);</code>
ログイン後にコピー

このクエリは新しい行を挿入しようとします。 指定された id を持つ行が既に存在する場合 (id の主キーまたは一意のインデックスのため)、ON DUPLICATE KEY UPDATE 句が有効になり、指定された値に基づいて Col1Col2 の値が更新されます。 VALUES() 句内。 この方法では、複数の個別の UPDATE ステートメントを実行する場合と比較して、パフォーマンスが大幅に向上します。

以上が複数の MySQL 行を同時に更新するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート