2627: Violation of PRIMARY KEY / UNIQUE KEY constraint. Cannot insert duplicate key in object (Verletzung des PRIMARY-KEY-/UNIQUE-KEY-Constraints; doppelter Schlüssel nicht einfügbar)
SQL ServerWas bedeutet das?
Du hast versucht, einen Wert einzufügen oder zu aktualisieren, der in den durch einen PRIMARY-KEY- oder UNIQUE-Constraint geschützten Spalte(n) bereits vorhanden ist. Doppelte Schlüssel werden nicht akzeptiert.
Ursache
Zweites Einfügen desselben eindeutigen Werts, ein UPDATE, das mit einem vorhandenen Wert kollidiert, eine fehlende Eindeutigkeitsprüfung oder zwei parallele Requests, die dieselbe Zeile erzeugen.
Lösung
Prüfe vor dem Einfügen, ob die Zeile existiert, oder verwende MERGE / IF NOT EXISTS. Wende für idempotente Inserts das Muster "INSERT ... WHERE NOT EXISTS" an. Fange den Fehler ab und gib eine aussagekräftige Meldung zurück. Brauchst du tatsächlich doppelte Daten, überprüfe den Constraint. Verwende IDENTITY oder SEQUENCE, um Kollisionen beim Erzeugen von Schlüsseln zu vermeiden.
Weitere Einträge zu dieser Datenbank
- 1205Transaction (Process ID) was deadlocked on lock resources with another process and has been chosen as the deadlock victim (Transaktion als Deadlock-Opfer gewählt)
- 2601Cannot insert duplicate key row in object with unique index. The duplicate key value is ... (doppelte Schlüsselzeile in Objekt mit Unique Index nicht einfügbar)
- 547The INSERT/UPDATE/DELETE statement conflicted with the FOREIGN KEY / CHECK constraint (Statement kollidiert mit FOREIGN-KEY-/CHECK-Constraint)
- 18456Login failed for user (Anmeldung für Benutzer fehlgeschlagen)
- 8152String or binary data would be truncated (String- oder Binärdaten würden abgeschnitten)