PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

FEHLER:Doppelter Schlüsselwert verstößt gegen Unique Constraint in PostgreSQL

http://www.postgresql.org/docs/9.0/static /sql-createtable.html im Abschnitt „Nicht aufgeschobene Eindeutigkeitseinschränkungen“ – „Wenn eine UNIQUE- oder PRIMARY KEY-Einschränkung nicht aufschiebbar ist, prüft PostgreSQL sofort auf Eindeutigkeit, wenn eine Zeile eingefügt oder geändert wird.“

Wenn Sie Ihre Eindeutigkeitsbeschränkung in aufschiebbar ändern, wird die Überprüfung bis zum Ende des Updates verschoben. Verwenden Sie entweder SET CONSTRAINTS zum Deaktivieren auf Sitzungsebene (was sich ärgerlicherweise wiederholt) oder löschen Sie die Eindeutigkeitsbeschränkung und erstellen Sie sie mit der aufschiebbaren Option neu (mir ist kein ALTER-Konstrukt bekannt, das dies ohne Löschen tun könnte).