ホームページ >データベース >mysql チュートリアル >MySQL の ON DUPLICATE KEY UPDATE はどのようにして一括挿入と更新を効率的に処理できるのでしょうか?
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 サイトの他の関連記事を参照してください。