ホームページ > データベース > mysql チュートリアル > MySQL で SQL の MERGE ステートメントの機能を実現するにはどうすればよいですか?

MySQL で SQL の MERGE ステートメントの機能を実現するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-12-29 21:01:11
オリジナル
301 人が閲覧しました

How Can I Achieve the Functionality of SQL's MERGE Statement in MySQL?

MySQL の MERGE ステートメントの代替手段

SQL には、ユーザーが INSERT 操作と UPDATE 操作を 1 つのクエリに結合できるマージ ステートメントが含まれています。ただし、MySQL はこのステートメントをサポートしていません。

MySQL でのマージ効果の実現

専用の MERGE ステートメントがないにもかかわらず、MySQL は代替ソリューションを提供します。

重複キーに挿入... UPDATE

この構文を使用すると、UNIQUE インデックスまたは PRIMARY KEY インデックスの値がすでに存在する場合、既存の行を更新しながらテーブルに新しい行を挿入できます。新しい行によって値が重複する場合、MySQL は次の手順を実行します:

  1. 最初のチェック: MySQL は最初に、一意の値または値に基づいて既存の行が受信行と一致するかどうかを確認します。プライマリキー。
  2. True の場合更新: 一致が見つかった場合、MySQL は指定された新しい値で既存の行を更新します。 UPDATE 句内。
  3. Insert if False: 一致するものが見つからない場合、MySQL は期待どおりに新しい行を挿入します。

例:

INSERT INTO my_table (id, name, age)
VALUES (1, 'John Doe', 35)
ON DUPLICATE KEY UPDATE name = 'Jane Doe', age = 40;
ログイン後にコピー

この例では、ID 1 の行が既に存在する場合、 MySQL は名前を「Jane Doe」に更新し、年齢を 40 歳に更新します。それ以外の場合は、指定された値を含む新しい行を挿入します。

以上がMySQL で SQL の MERGE ステートメントの機能を実現するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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