ホームページ > データベース > mysql チュートリアル > MySQL の ON DUPLICATE KEY UPDATE はどのようにして一括挿入と更新を効率的に処理できるのでしょうか?

MySQL の ON DUPLICATE KEY UPDATE はどのようにして一括挿入と更新を効率的に処理できるのでしょうか?

Susan Sarandon
リリース: 2025-01-11 10:31:42
オリジナル
263 人が閲覧しました

How Can MySQL's ON DUPLICATE KEY UPDATE Handle Bulk Inserts and Updates Efficiently?

ON DUPLICATE KEY UPDATE を使用した MySQL での一括挿入と更新の最適化

MySQL テーブルへの一括挿入中の一意の値の管理は複雑になる場合があります。 ON DUPLICATE KEY UPDATE 句は、一意のキー制約に基づいて、新しい行の挿入と既存の行の更新を同時に行うための効率的なソリューションを提供します。

このガイドでは、「name」列が一意のキーとして機能するテーブル (「Beautiful」など) に行を挿入または更新する方法を説明します。 2 つのアプローチが示されています:

MySQL 8.0.19 以降のバージョンの場合:

行エイリアスを活用して簡潔な更新を行う:

<code class="language-sql">INSERT INTO beautiful (name, age)
VALUES
('Helen', 24),
('Katrina', 21),
('Samia', 22),
('Hui Ling', 25),
('Yumie', 29)
AS new
ON DUPLICATE KEY UPDATE
    age = new.age
    -- ... other columns to update ...</code>
ログイン後にコピー

8.0.19 より前の MySQL バージョンの場合:

挿入された値を参照するには、VALUES キーワードを使用します:

<code class="language-sql">INSERT INTO beautiful (name, age)
VALUES
('Helen', 24),
('Katrina', 21),
('Samia', 22),
('Hui Ling', 25),
('Yumie', 29)
ON DUPLICATE KEY UPDATE
    age = VALUES(age),
    -- ... other columns to update ...</code>
ログイン後にコピー

どちらのメソッドでも、ON DUPLICATE KEY UPDATE は重複する一意のキーが検出された場合に変更する列を指定します。これにより、挿入と更新の両方を 1 回の操作で効率的に処理しながら、データの整合性が確保されます。

以上がMySQL の ON DUPLICATE KEY UPDATE はどのようにして一括挿入と更新を効率的に処理できるのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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