Heim  >  Artikel  >  Datenbank  >  Wie verhindert man doppelte Werte beim Einfügen von Daten in eine „Delegates“-Tabelle?

Wie verhindert man doppelte Werte beim Einfügen von Daten in eine „Delegates“-Tabelle?

Susan Sarandon
Susan SarandonOriginal
2024-11-01 08:08:30889Durchsuche

How to Prevent Duplicate Values During Data Insertion in a

Verhindern doppelter Werte beim Einfügen von Daten

Problemstellung:

Innerhalb einer Tabelle mit dem Namen „ „Delegates“, das eindeutige Mitgliedsinformationen sowie Bereichsfelder „FromYr“ und „ToYr“ enthält, riskiert das Einfügen von Daten mithilfe von Benutzereingaben die Duplizierung von Mitgliedern für dasselbe Jahr.

Lösung:

Um dieses Problem anzugehen und die Datenintegrität sicherzustellen, können wir die MERGE-Anweisung nutzen. Mit der MERGE-Anweisung können wir eine bedingte Einfügung durchführen und den Datensatz nur dann aktualisieren, wenn er nicht bereits in der Tabelle vorhanden ist.

Implementierung:

<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>

Erklärung:

  • MERGE INTO: Diese Anweisung gibt die Zieltabelle („Delegates“) an, in die aktualisiert oder eingefügt werden soll.
  • USING: Diese Klausel definiert die Quelldaten („X“), die mit der Zieltabelle verglichen werden.
  • ON: Die Join-Kriterien geben die Bedingungen an, unter denen Zeilen abgeglichen werden sollen während des Zusammenführungsvorgangs. In diesem Fall wird der eindeutige Schlüssel-Join (z. B. Mitgliedsnummer und Jahr) verwendet, um zu identifizieren, wann eine Zeile bereits vorhanden ist.
  • WHEN NOT MATCHED BY TARGET THEN: Diese Anweisung definiert die Aktion wird verwendet, wenn in der Zieltabelle keine passende Zeile gefunden wird. In diesem Fall wird ein INSERT durchgeführt, um die neue Zeile hinzuzufügen.

Das obige ist der detaillierte Inhalt vonWie verhindert man doppelte Werte beim Einfügen von Daten in eine „Delegates“-Tabelle?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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