SQL での INSERT 中に値の重複を防ぐにはどうすればよいですか?

Barbara Streisand
リリース: 2024-10-31 08:30:02
オリジナル
866 人が閲覧しました

How to Prevent Duplicate Values during INSERT in SQL?

SQL での INSERT 中の重複値の防止

列「ID」、「MemberNo」、「FromYr」を持つテーブル「Delegates」があるとします。 " および "ToYr" を使用する場合、ユーザーはユーザー入力から重複した値が挿入されないようにする必要があります。元のクエリ INSERT INTO Delegates ([MemNo],[FromYr],[ToYr]) value(@MemNo, @FromYr,@ToYr) では、同じメンバーと年の重複エントリが許可されています。

Toこの問題に対処するには、ユーザーは MERGE コマンドを使用できます。 MERGE は、INSERT、UPDATE、および DELETE ステートメントの機能を 1 つの操作に結合します。次の MERGE ステートメントは、目的の動作を実現します。

<code class="sql">MERGE INTO Delegates D
USING (values(@MemNo, @FromYr,@ToYr)) X ([MemNo],[FromYr],[ToYr])
ON (insert unique key join)
WHEN NOT MATCHED BY TARGET THEN
INSERT ([MemNo],[FromYr],[ToYr]))
VALUES (X.[MemNo],X.[FromYr],X.[ToYr]);</code>
ログイン後にコピー

この MERGE ステートメントは、次のことを実行します。

  • 最初に、"Delegates" テーブル (D ) ユーザー (X) が指定した値に置き換えます。
  • 一致が見つかった場合 (指定された結合条件に基づいて、一意である必要があります)
  • 一致するものが見つからない場合は、X の値を使用して新しい行を挿入します。

この MERGE ステートメントを使用すると、ユーザーは次のことができます。重複する値が「デリゲート」テーブルに挿入されないように注意してください。

以上がSQL での INSERT 中に値の重複を防ぐにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!