「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > MySQLの「重複キーアップデート」は、挿入と更新の両方をどのように処理できますか?

MySQLの「重複キーアップデート」は、挿入と更新の両方をどのように処理できますか?

2025-03-23に投稿されました
ブラウズ:398

How Can MySQL's `ON DUPLICATE KEY UPDATE` Handle Both Inserts and Updates?

mysqlの on duplicate key update :挿入と更新を効率的に管理する

データベース操作では、多くの場合、新しい行を挿入する必要がありますが、同時に一意のキーを備えた既存の行の更新を処理します。 mysqlの強力な挿入...重複するキーアップデートステートメントは、この共通の問題をエレガントに解決します。

課題:重複エントリを回避

目標はテーブルに新しい行を追加することですが、同じ一意のキー(IDのような)を持つ行が既に存在する場合、複製を作成する代わりに既存の行を更新します。

ソリューション:挿入... この単一のコマンドは、挿入と更新の両方の機能を達成します:

挿入:
    一致する一意のキーが存在しない場合、指定された値で新しい行が挿入されます。
  • 更新:
  • 同じ一意のキーを持つ行がすでに存在する場合、その行の指定された列は提供された値で更新されます。
  • 実例:

このクエリを検討してください:

inserting my_table(id、name、age)values(1、 'alice'、30)upplicate key update name = 'alice'、age = 30;

INSERT INTO my_table (id, name, age) VALUES (1, 'Alice', 30) ON DUPLICATE KEY UPDATE name = 'Alice', age = 30;

試みは、

id = 1
  • name = 'alice' 、および age = 30 id = 1
  • が既に存在する場合、
  • on duplicate key update 句が有効になります。 name
  • および
  • age 既存の行の列は、クエリで提供されている値に更新されます。 これにより、新しいデータが既存のレコードと効果的にマージされます。 このアプローチはデータベース管理を合理化し、エントリの重複を防ぎ、単一の簡潔なSQLステートメントとのデータの一貫性を確保します。
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3