MySQL の MERGE ステートメントの代替手段
SQL には、ユーザーが INSERT 操作と UPDATE 操作を 1 つのクエリに結合できるマージ ステートメントが含まれています。ただし、MySQL はこのステートメントをサポートしていません。
MySQL でのマージ効果の実現
専用の MERGE ステートメントがないにもかかわらず、MySQL は代替ソリューションを提供します。
重複キーに挿入... UPDATE
この構文を使用すると、UNIQUE インデックスまたは PRIMARY KEY インデックスの値がすでに存在する場合、既存の行を更新しながらテーブルに新しい行を挿入できます。新しい行によって値が重複する場合、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 サイトの他の関連記事を参照してください。