DBAtlas · Atlas für Datenbankbetrieb

ORA-00001: Unique constraint violated (Unique Constraint verletzt)

Oracle

Was bedeutet das?

Eine einzufügende oder zu aktualisierende Zeile verletzt einen UNIQUE- oder PRIMARY-KEY-Constraint. Der gleiche Wert ist also bereits vorhanden.

Ursache

Erneutes Einfügen einer Zeile mit demselben Schlüsselwert, doppelte Daten in einer Spalte, die eindeutig sein muss, oder doppelte Verarbeitung desselben Datensatzes bei Replikation/Wiederholungsläufen.

Lösung

Ermittle die verletzte Spalte über den Constraint-Namen in der Fehlermeldung: SELECT column_name FROM all_cons_columns WHERE constraint_name = 'CONSTRAINT_NAME'. Finde doppelte Daten mit GROUP BY ... HAVING COUNT(*) > 1. Verwende in der Anwendung für vorhandene Datensätze UPDATE oder MERGE statt INSERT. Ist der Sequence-Wert zurückgefallen, setze ihn mit ALTER SEQUENCE vor.

In DBAtlas öffnen →

Weitere Einträge zu dieser Datenbank