Ändern von Bezeichnungen in einer Liste

Code-Stücke können hier veröffentlicht werden.
Benutzeravatar
miracle173
User
Beiträge: 125
Registriert: Samstag 6. Februar 2016, 00:28

Donnerstag 24. März 2016, 10:21

Code: Alles auswählen

Traceback (most recent call last):
File "/home/akquinet/Dokumente/Database_insert_tenants.py", line 76, in <module>
cur.execute("""INSERT INTO osp_tenants (name, tenant_id, description) VALUES (%s, %s, %s)""", (osp_tenants_name, osp_tenants_tenant_id, osp_tenants_description))
IntegrityError: duplicate key value violates unique constraint "osp_tenants_tenant_id_key"
DETAIL: Key (tenant_id)=(abcd) already exists.
Da braucht man nicht googeln, da braucht man schlimmstenfalls ein Lexikon, um sich das ganze ins Deutsche zu übersetzten, wenn man es so nicht versteht. Da steht doch alles drin, was passiert ist.

in etwa

Beim Ausführen von
cur.execute("""INSERT INTO osp_tenants (name, tenant_id, description) VALUES (%s, %s, %s)""", (osp_tenants_name, osp_tenants_tenant_id, osp_tenants_description))

Anmerkung von mir: das ist das Einfügen eines Datensatzes in die Datenbank

in der Zeile 76 der Datei "Database_insert_tenants.py" gabs den
Integritäts-Fehler: doppelter Schlüsselwert verletzt die Eindeutigkeitsbeschränkung "osp_tenants_tenant_id_key"
Detail: Den Schlüssel (tenant_id)=(abcd) gibt es schon.

Was ist dir daran nicht klar?
BlackJack

Donnerstag 24. März 2016, 10:25

@andyritter: Das ist eine Ausnahme die spezifisch für Datenbanken ist, natürlich fällt das nicht einfach so vom Himmel und ist auf magische Weise verfügbar. Du musst die Ausnahme schon aus dem Modul importieren in dem sie definiert wurde, wie alle anderen Datentypen ausser den eingebauten halt auch.
andyritter
User
Beiträge: 29
Registriert: Montag 7. März 2016, 16:27

Donnerstag 24. März 2016, 10:47

@miracle: Mir ist nicht klar, wie ich es fertig bringe, dass das Script weiterläuft, auch wenn für einen Datensatz ein "IntegrityError: duplicate key value violates unique constraint" geworfen wird.

@BlackJack: Leider habe ich keine Ahnung, in welchem Modul dieser Fehler definiert sein soll. Kannst Du mir da einen Tipp geben?
Danke schön
BlackJack

Donnerstag 24. März 2016, 10:56

@andyritter: Nee, kann ich nicht. Ich bin gerade zu sehr mit kopfschütteln beschäftigt. In welchem Modul mag wohl der Ausnahmetyp für Datenbankfehler definiert sein… Wie soll man da bloss drauf kommen… :roll:
andyritter
User
Beiträge: 29
Registriert: Montag 7. März 2016, 16:27

Donnerstag 24. März 2016, 11:20

except psycopg2.IntegrityError:
Antworten