Hallo Leute,
Kann es sein, dass man nicht gleichzeitig, sprich mit einer Abfrage an die Datenbank mehrere Tabellen Updaten kann?
Wie kann man überprüfen in Python ob ein UPDATE funktioniert hat?
Gibt es sowas wie cur.fetchall() bei einer Select Anweisung auch für UPDATES. Ich will nur eine Boolsche Variable oder irgendsowas in der Art als Rückgabewert, welcher in Python verarbeitbar ist.
Danke für eure Tipps,
Johannes
Mehrere Tabellen mit einem Execute UPDATEN mit psycopg2
- gerold
- Python-Forum Veteran
- Beiträge: 5555
- Registriert: Samstag 28. Februar 2004, 22:04
- Wohnort: Oberhofen im Inntal (Tirol)
- Kontaktdaten:
Hallo Johannes!keboo hat geschrieben:mit einer Abfrage an die Datenbank mehrere Tabellen Updaten
[...]
Wie kann man überprüfen in Python ob ein UPDATE funktioniert hat?
Mit ``cur.rowcount`` bekommst du die Anzahl der geänderten/hinzugefügten Zeilen zurück.
Und mehrere Tabellen in einem Rutsch funktioniert auch:
Code: Alles auswählen
>>> import psycopg2
>>> conn = psycopg2.connect(
... user = "testuser", password = "testuser",
... database = "testdb",
... )
>>> cur = conn.cursor()
>>> sql = """
... insert into contacts (number, name) values ('ddd', 'ddd');
... insert into calls (id, number) values (43, 'ddd');
... """
>>> cur.execute(sql)
>>> conn.commit()
>>>
Gerold
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Ansonsten sollte man, wenn etwas schiefgelaufen ist, natürlich eine Ausnahme bekommen. Wenn man zum Beispiel mit dem ``UPDATE`` bzw. dem anschliessenden `commit()` irgendwelche "constraints" verletzen würde.