Verhindern doppelter Werte beim INSERT in SQL
Angenommen eine Tabelle „Delegates“ mit den Spalten „ID“, „MemberNo“, „FromYr, „ und „ToYr“ muss der Benutzer das Einfügen doppelter Werte aus Benutzereingaben verhindern. Die ursprüngliche Abfrage, INSERT INTO Delegates ([MemNo],[FromYr],[ToYr]) Values(@MemNo, @FromYr,@ToYr), ermöglicht doppelte Einträge für dasselbe Mitglied und Jahr.
To Um dieses Problem zu beheben, kann der Benutzer den Befehl MERGE verwenden. MERGE kombiniert die Funktionalität von INSERT-, UPDATE- und DELETE-Anweisungen in einer einzigen Operation. Die folgende MERGE-Anweisung erreicht das gewünschte Verhalten:
<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>
Diese MERGE-Anweisung führt Folgendes aus:
Das obige ist der detaillierte Inhalt vonWie verhindert man doppelte Werte beim INSERT in SQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!