Heim > Datenbank > MySQL-Tutorial > Hauptteil

Wie verhindert man doppelte Werte beim INSERT in SQL?

Barbara Streisand
Freigeben: 2024-10-31 08:30:02
Original
866 Leute haben es durchsucht

How to Prevent Duplicate Values during INSERT in SQL?

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>
Nach dem Login kopieren

Diese MERGE-Anweisung führt Folgendes aus:

  • Es wird zunächst versucht, die Zeilen in der Tabelle „Delegates“ (D ) mit den vom Benutzer bereitgestellten Werten (X).
  • Wenn eine Übereinstimmung gefunden wird (basierend auf der angegebenen Join-Bedingung, die ein eindeutiger Schlüssel sein sollte), wird die vorhandene Zeile aktualisiert.
  • Wenn keine Übereinstimmung gefunden wird, wird eine neue Zeile mit den Werten von

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!