MySQL で複数行のデータを同時に挿入する場合、一意のキーに重複した値がないか確認し、状況に応じて更新または挿入操作を実行する必要がある場合があります。
これを行うには、ON DUPLICATE KEY UPDATE 句を使用できます。ただし、複数行データの場合、これがどのように実装されるかは 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 ...</code>
以前のバージョンの場合、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), ...</code>
上記の方法を使用すると、単一のクエリを使用してバッチ更新または挿入操作を実行し、データの整合性を確保し、必要に応じて既存の行を更新し、新しい行を挿入できます。
以上がMySQL で ON DUPLICATE KEY UPDATE を使用して一括挿入を実行する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。