ホームページ >データベース >mysql チュートリアル >MySQL の ON DUPLICATE KEY UPDATE を複数の行に使用するには?

MySQL の ON DUPLICATE KEY UPDATE を複数の行に使用するには?

Linda Hamilton
Linda Hamiltonオリジナル
2025-01-11 08:14:42519ブラウズ

How to Use MySQL's ON DUPLICATE KEY UPDATE for Multiple Rows?

MySQL の ON DUPLICATE KEY UPDATE を使用した複数の行の効率的な処理

MySQL は、既存の一意の値のチェックと更新を同時に行いながら、複数の行の挿入を管理する合理的なアプローチを提供します。これは、ON DUPLICATE KEY UPDATE 句を使用して実現されます。 この機能により、単一のクエリ内で特定のフィールドを条件付きで更新または挿入できます。

既存の行を選択的に更新し、新しい行を追加するには、エイリアスまたは VALUES キーワードを 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>

MySQL 8.0.19 以前 (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>

これらの例は、既存の一意のキーに基づいてデータを更新または挿入する方法を示しています。 一意のキーがすでに存在する場合、指定されたフィールドが更新されます。それ以外の場合は、新しい行が挿入されます。 VALUES キーワードまたはエイリアス new は、INSERT ステートメントに挿入される値を参照します。

以上がMySQL の ON DUPLICATE KEY UPDATE を複数の行に使用するには?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。