ホームページ  >  記事  >  データベース  >  フィールドの存在に基づいて MySQL で行を更新または挿入する方法

フィールドの存在に基づいて MySQL で行を更新または挿入する方法

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-13 09:58:02570ブラウズ

How to Update or Insert Rows in MySQL Based on Field Presence?

MySQL: フィールドの存在に基づいた更新または挿入

問題ステートメント

コードでは、set_colors テーブルの行を更新することを目的としています。すでに存在する場合。それ以外の場合は、新しい行を挿入します。ただし、クエリ内で IF EXISTS 条件を利用していますが、これはこのようなシナリオを処理する推奨方法とは一致しません。

解決策

ベースの更新または挿入操作を実行するにはフィールドが存在する場合は、INSERT ... ON DUPLICATE KEY UPDATE 構文の使用を検討してください:

説明

この構文では:

  • 行が存在しない場合指定された主キー (または一意のインデックス) が存在しない場合、指定された値が挿入されます。
  • 行がすでに存在する場合、指定されたフィールドは 更新されます を指定された値に追加します。
  • 行が存在し、指定された値が現在の値と同一の場合、アクションは実行されず、影響を受ける行数は 0 になります。

次のクエリは使用法を示しています:

  • school_art_id 1 が存在しない場合、指定された値を含む新しい行が挿入されます。
  • school_art_id 1 がすでに存在する場合、baseimage_id、sub_folder、およびレイヤーのフィールドが指定された値に更新されます。

以上がフィールドの存在に基づいて MySQL で行を更新または挿入する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。