ホームページ > データベース > mysql チュートリアル > INSERT...ON DUPLICATE KEY UPDATE を使用して MySQL で行を挿入または更新する方法

INSERT...ON DUPLICATE KEY UPDATE を使用して MySQL で行を挿入または更新する方法

Mary-Kate Olsen
リリース: 2025-01-24 02:32:09
オリジナル
586 人が閲覧しました

How to Insert or Update Rows in MySQL Using INSERT...ON DUPLICATE KEY UPDATE?

MySQL での重複キーの競合の処理: INSERT...ON DUPLICATE KEY UPDATE

一意キー制約を使用して MySQL テーブルにデータを挿入するときに、重複キーが見つかると競合が発生します。 INSERT...ON DUPLICATE KEY UPDATE ステートメントは、一意のキーに基づいて新しい行を挿入したり、既存の行を更新したりできるようにすることで、この問題をエレガントに解決します。

一意の「ID」列を持つテーブルを考えてみましょう。 既存の ID を持つ行を挿入しようとすると、標準の INSERT ステートメントは失敗します。 INSERT...ON DUPLICATE KEY UPDATE は解決策を提供します。

シナリオ例:

users テーブルにデータを追加していると想像してください。

INSERT INTO users (ID, Name, Age) VALUES (1, "Bob", 30);

ID = 1 を持つユーザーがすでに存在する場合、このクエリは失敗します。

解決策:

INSERT...ON DUPLICATE KEY UPDATE:

を使用します

INSERT INTO users (ID, Name, Age) VALUES (1, "Bob", 30) ON DUPLICATE KEY UPDATE Name = "Bob", Age = 30;

説明:

  • INSERT部分は挿入するデータを指定します。
  • ON DUPLICATE KEY UPDATE は、重複キーが見つかった場合の更新アクションを指示します。
  • この例では、ID = 1 が存在する場合、Name 列と Age 列が指定された値で更新されます。 ID = 1 が存在しない場合は、新しい行が挿入されます。

このアプローチでは、重複したキーの挿入によって引き起こされるエラーを防ぎながら、データの整合性を確保します。 これは、MySQL でデータ更新を管理するための簡潔かつ効率的な方法です。

以上がINSERT...ON DUPLICATE KEY UPDATE を使用して MySQL で行を挿入または更新する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート