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 ステートメントは、次のことを実行します。
この MERGE ステートメントを使用すると、ユーザーは次のことができます。重複する値が「デリゲート」テーブルに挿入されないように注意してください。
以上がSQL での INSERT 中に値の重複を防ぐにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。