MySQL の ON DUPLICATE KEY UPDATE
: 挿入と更新の効率的な管理
データベース操作では、多くの場合、新しい行を挿入すると同時に、一致する一意のキーを使用して既存の行の更新を処理する必要があります。 MySQL の強力な INSERT ... ON DUPLICATE KEY UPDATE
ステートメントは、この一般的な問題をエレガントに解決します。
課題: 重複エントリの回避
目標はテーブルに新しい行を追加することですが、同じ一意のキー (ID など) を持つ行がすでに存在する場合は、重複を作成するのではなく、その既存の行を更新します。
解決策: INSERT ... ON DUPLICATE KEY UPDATE
この 1 つのコマンドは、挿入と更新の両方の機能を実現します。
例:
次のクエリについて考えてみましょう:
<code class="language-sql">INSERT INTO my_table (id, name, age) VALUES (1, 'Alice', 30) ON DUPLICATE KEY UPDATE name = 'Alice', age = 30;</code>
内訳は次のとおりです:
id = 1
、name = 'Alice'
、および age = 30
を含む行を挿入しようとします。id = 1
がすでに存在する場合、ON DUPLICATE KEY UPDATE
句が有効になります。name
列と age
列は、クエリで指定された値に更新されます。 これにより、新しいデータが既存のレコードと効果的にマージされます。このアプローチはデータベース管理を効率化し、重複エントリを防止し、単一の簡潔な SQL ステートメントでデータの一貫性を確保します。
以上がMySQL の「ON DUPLICATE KEY UPDATE」は挿入と更新の両方をどのように処理できるのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。