Datenbankanbindung Problem

Installation und Anwendung von Datenbankschnittstellen wie SQLite, PostgreSQL, MariaDB/MySQL, der DB-API 2.0 und sonstigen Datenbanksystemen.
Kalli87
User
Beiträge: 281
Registriert: Montag 10. November 2014, 11:27

Hallo Forum,
und zwar hab ich folgendes Problem.
Meine Datenbank ist eine postgres-Datenbank bzw die Anbindung läuft über postgres.
Die Datenbank ist angelegt und will einfach per Skript mir nur paar Sachen in eine Tabelle eintragen lassen.
Tabelle ist ebenso angelegt. Hier der Code.

Code: Alles auswählen

import psycopg2
connection = psycopg2.connect("dbname=sqltest")
connection.commit()
cursor = connection.cursor()
cursor.execute('INSERT INTO staatsangehoerigkeit VALUES     '
               "('afghanisch')              ,"
               "('aegyptisch')              ,"
               "('albanisch')               ,"
               "('algerisch')               ,"
               "('amerikanisch')            ,"
               "('andorranisch')            ,"
               "('angolanisch')             ,"
               "('antiguanisch')            ,"
               "('aequatorialguineisch')    ,"
               "('argentinisch')            ,"
               "('armenisch')               ,"
               "('aserbaidschanisch')       ,"
               "('aethiopisch')             ,"
               "('australisch')             ,"
               "('bahamaisch')              ,"
               "('bahrainisch')             ,"
               "('bangladeschisch')         ,"
               "('barbadisch')              ,"
               "('belgisch')                ,"
               "('belizisch')               ,"
               "('beninisch')               ,"
               "('bhutanisch')              ,"
               "('bolivianisch')            ,"
               "('bosnisch-herzegowinisch') ,"
               "('botsuanisch')             ,"
               "('brasilianisch')           ,"
               "('britisch')                ,"
               "('bruneiisch')              ,"
               "('bulgarisch')              ,"
               "('burkinisch')              ,"
               "('burundisch')              ,"
               "('chilenisch')              ,"
               "('chinesisch')              ,"
               "('costa-ricanisch')         ,"
               "('daenisch')                ,"
               "('deutsch')                 ,"
               "('dominicanisch')           ,"
               "('dominikanisch')           ,"
               "('dschibutisch')            ,"
               "('ecuadorianisch')          ,"
               "('eritreisch')              ,"
               "('estnisch')                ,"
               "('fidschianisch')           ,"
               "('finnisch')                ,"
               "('franzoesisch')            ,"
               "('gabunisch')               ,"
               "('gambisch')                ,"
               "('georgisch')               ,"
               "('ghanaisch')               ,"
               "('grenadisch')              ,"
               "('griechisch')              ,"
               "('guatemaltekisch')         ,"
               "('guineisch')               ,"
               "('guinea-bissauisch')       ,"
               "('guyanisch')               ,"
               "('haitianisch')             ,"
               "('honduranisch')            ,"
               "('indisch')                 ,"
               "('indonesisch')             ,"
               "('irakisch')                ,"
               "('iranisch')                ,"
               "('irisch')                  ,"
               "('isländisch')              ,"
               "('israelisch')              ,"
               "('italienisch')             ,"
               "('ivorisch')                ,"
               "('jamaikanisch')            ,"
               "('japanisch')               ,"
               "('jemenitisch')             ,"
               "('jordanisch')              ,"
               "('kambodschanisch')         ,"
               "('kamerunisch')             ,"
               "('kanadisch')               ,"
               "('kapverdisch')             ,"
               "('kasachisch')              ,"
               "('katarisch')               ,"
               "('kenianisch')              ,"
               "('kirgisisch')              ,"
               "('kiribatisch')             ,"
               "('kolumbianisch')           ,"
               "('komorisch')               ,"
               "('kongolesisch')            ,"
               "('kongolesisch')            ,"
               "('kosovarisch')             ,"
               "('kroatisch')               ,"
               "('kubanisch')               ,"
               "('kuwaitisch')              ,"
               "('laotisch')                ,"
               "('lesothisch')              ,"
               "('lettisch')                ,"
               "('libanesisch')             ,"
               "('liberianisch')            ,"
               "('libysch')                 ,"
               "('liechtensteinisch')       ,"
               "('litauisch')               ,"
               "('lucianisch')              ,"
               "('luxemburgisch')           ,"
               "('madagassisch')            ,"
               "('malawisch')               ,"
               "('malaysisch')              ,"
               "('maledivisch')             ,"
               "('malisch')                 ,"
               "('maltesisch')              ,"
               "('marokkanisch')            ,"
               "('marshallisch')            ,"
               "('mauretanisch')            ,"
               "('mauritisch')              ,"
               "('mazedonisch')             ,"
               "('mexikanisch')             ,"
               "('mikronesisch')            ,"
               "('moldauisch')              ,"
               "('monegassisch')            ,"
               "('mongolisch')              ,"
               "('montenegrinisch')         ,"
               "('mosambikanisch')          ,"
               "('myanmarisch')             ,"
               "('namibisch')               ,"
               "('nauruisch')               ,"
               "('nepalesisch')             ,"
               "('neuseelaendisch')         ,"
               "('nicaraguanisch')          ,"
               "('niederländisch')          ,"
               "('nigrisch')                ,"
               "('nigerianisch')            ,"
               "('niueanisch')              ,"
               "('nordkoreanisch')          ,"
               "('norwegisch')              ,"
               "('omanisch')                ,"
               "('oesterreichisch')         ,"
               "('pakistanisch')            ,"
               "('palauisch')               ,"
               "('panamaisch')              ,"
               "('papua-neuguineisch')      ,"
               "('paraguayisch')            ,"
               "('peruanisch')              ,"
               "('philippinisch')           ,"
               "('polnisch')                ,"
               "('portugiesisch')           ,"
               "('ruandisch')               ,"
               "('rumaenisch')              ,"
               "('russisch')                ,"
               "('salomonisch')             ,"
               "('salvadorianisch')         ,"
               "('sambisch')                ,"
               "('samoanisch')              ,"
               "('san-marinesisch')         ,"
               "('são-toméisch')            ,"
               "('saudi-arabisch')          ,"
               "('schwedisch')              ,"
               "('schweizerisch')           ,"
               "('senegalesisch')           ,"
               "('serbisch')                ,"
               "('seychellisch')            ,"
               "('sierra-leonisch')         ,"
               "('simbabwisch')             ,"
               "('singapurisch')            ,"
               "('slowakisch')              ,"
               "('slowenisch')              ,"
               "('somalisch')               ,"
               "('spanisch')                ,"
               "('sri-lankisch')            ,"
               "('südafrikanisch')          ,"
               "('suedkoreanisch')          ,"
               "('suedsudanesisch')         ,"
               "('sudanesisch')             ,"
               "('suedsudanesisch')         ,"
               "('surinamisch')             ,"
               "('swasiländisch')           ,"
               "('syrisch')                 ,"
               "('tadschikisch')            ,"
               "('tansanisch')              ,"
               "('thailändisch')            ,"
               "('timoresisch')             ,"
               "('togoisch')                ,"
               "('tongaisch')               ,"
               "('tschadisch')              ,"
               "('tschechisch')             ,"
               "('tunesisch')               ,"
               "('tuerkisch')               ,"
               "('turkmenisch')             ,"
               "('tuvaluisch')              ,"
               "('ugandisch')               ,"
               "('ukrainisch')              ,"
               "('ungarisch')               ,"
               "('uruguayisch')             ,"
               "('usbekisch')               ,"
               "('vanuatuisch')             ,"
               "('vatikanisch')             ,"
               "('venezolanisch')           ,"
               "('vietnamesisch')           ,"
               "('vincentisch')             ,"
               "('weißrussisch')            ,"
               "('zentralafrikanisch')      ,"
               "('zyprisch')")
connection.commit()
connection.close()
Und hier der Traceback

Traceback (most recent call last):
File "/home/karl/Schreibtisch/Projekte/Datenbank/nationalitaeten.py", line 2, in <module>
connection = psycopg2.connect("dbname=sqltest")
File "/usr/lib64/python3.4/site-packages/psycopg2/__init__.py", line 164, in connect
conn = _connect(dsn, connection_factory=connection_factory, async=async)
psycopg2.OperationalError

Vielleicht sehe ich auch den Fehler gerade nicht.

Vielen Dank, Kalli
Benutzeravatar
sparrow
User
Beiträge: 4164
Registriert: Freitag 17. April 2009, 10:28

Der Fehler wird bereits bei dem Versuch die Datenbank zu verbinden geworfen. Das hat also erst einmal nichts mit deinem Statement zu tun.

Reicht die Angabe des Datanbanknamens? Muss man da nicht noch so Sachen wir den Host, Benutzer, etc. angeben?

Zum Rest:

Du führst direkt nach dem Verbinden einen Commit durch. Warum?

Verkürzt sieht dein Statment so aus:

Code: Alles auswählen

INSERT INTO tabelle VALUES ('afghanisch'), ('aegyptisch')
Ich weiß nicht was du da genau tun willst, aber das sieht irgendwie nicht richtig aus.
Kalli87
User
Beiträge: 281
Registriert: Montag 10. November 2014, 11:27

Danke Sparrow, ich frag halt nach weil es mich verwundert weil unter Python2 ging es und jetzt bei Python3 will es nicht so richtig mehr.
Die Angaben haben sonst auch immer gereicht, bin gerade leicht verwundert warum es gerade so rum spinnt und deswegen frag ich nach.
Benutzeravatar
sparrow
User
Beiträge: 4164
Registriert: Freitag 17. April 2009, 10:28

Die Einstellungen wer sich auf den Server verbinden darf sind ja bei PostgreSQL recht strikt einstellbar. Kannst du dich ohne Angaben von Benutzername, etc. per psql auf die Datenbank verbinden?
BlackJack

@Kalli87: Nach welcher Syntaxbeschreibung hast Du denn gedacht dass das gültiges SQL ist‽ Nach ``VALUES`` wird eine öffnende Klammer erwartet, gefolgt von durch Kommata getrennten Ausdrücken mit den Werten für die Spalten *eines* Datensatzes (!), angeschlossen durch eine schliessende Klammer. Siehe http://www.postgresql.org/docs/current/ ... nsert.html

Da ich mal hoffe dass das nicht *ein* Datensatz sein soll: Da musst Du mehrere ``INSERT``\s für machen, einen pro Datensatz, oder besser einen mit Platzhalter, die Daten in einer Python-Datenstruktur und dann mit `executemany()` statt `execute()` arbeiten. Und Du musst auch den Spaltennamen angeben, denn es wird ja nicht die einzige Spalte in der Tabelle sein.
Kalli87
User
Beiträge: 281
Registriert: Montag 10. November 2014, 11:27

Ok, Ich fang mal klein an.
Blackjack, Danke für deinen Einwand ich werde deine Variante aber meine ebenso nochmal testen, aktuell steht ja das Problem der Datenbankverbindung an.

Ich hab jetzt zum testen alles weggelassen was jetzt überflüssig wäre.

Code: Alles auswählen

import psycopg2
connection = psycopg2.connect("dbname=sqltest user=postgres password=*****")
connection.commit()
print('funktioniert')
connection.close()
Hier der gleiche Traceback wie schon im ersten Post beschrieben.

Code: Alles auswählen

import psycopg2
connection = psycopg2.connect("dbname=sqltest")
connection.commit()
print('funktioniert')
connection.close()
Und ohne Angaben von "user" und "password" das gleiche Spiel.
Benutzeravatar
sparrow
User
Beiträge: 4164
Registriert: Freitag 17. April 2009, 10:28

Bei dem commit wird in Zeile 3 wird wird mir immer ganz schwindelig (was soll der da?).

Ich installiere gerade mal psycopg2 für Python 3.
Kalli87
User
Beiträge: 281
Registriert: Montag 10. November 2014, 11:27

ich hab eine dunkle Erinnerung das "connection.commit" "connection" ausführen soll.
War das nicht so? Ansonsten is es wirklich überflüssig aber das tut ja nichts zur Sache es ohne auch nicht funktioniert.
Benutzeravatar
sparrow
User
Beiträge: 4164
Registriert: Freitag 17. April 2009, 10:28

Ein Commit schließt eine Transaktion ab. Nutzt dir hier also nichts.

Bei mir hört die Fehlermeldung nicht nach OperationalError auf.
Versuch das Verbinden mal in der interaktiven Konsole und zeig die komplette Fehlermeldung. In meinem Fall:

Code: Alles auswählen

Python 3.4.3 (v3.4.3:9b73f1c3e601, Feb 24 2015, 22:43:06) [MSC v.1600 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import psycopg2
>>> psycopg2.connect("dbname=test2")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Python34\lib\site-packages\psycopg2\__init__.py", line 164, in connect
    conn = _connect(dsn, connection_factory=connection_factory, async=async)
psycopg2.OperationalError: fe_sendauth: no password supplied
BlackJack

Die *komplette* Fehlermeldung hilft vielleicht auch weiter. Nach dem `OperationalError` steht normalerweise ja ein Doppelpunkt gefolgt von der Fehlermeldung der PostgreSQL-Client-Bibliothek. Beispiel:

Code: Alles auswählen

In [3]: psycopg2.connect('dbname=sqltest')
---------------------------------------------------------------------------
OperationalError                          Traceback (most recent call last)
<ipython-input-3-64099b1a605a> in <module>()
----> 1 psycopg2.connect('dbname=sqltest')

OperationalError: FATAL:  Ident authentication failed for user "bj"
Kalli87
User
Beiträge: 281
Registriert: Montag 10. November 2014, 11:27

Wenn ichs über die Pythonkonsole versuche kommt folgendes raus:

Code: Alles auswählen

Python 3.4.1 (default, May 23 2014, 17:48:28) [GCC] on linux
In[2]: import psycopg2
In[3]: connection = psycopg2.connect("dbname=sqltest")
Traceback (most recent call last):
  File "/usr/lib/python3.4/site-packages/IPython/core/interactiveshell.py", line 3035, in run_code
    exec(code_obj, self.user_global_ns, self.user_ns)
  File "<ipython-input-3-48ab31d909f4>", line 1, in <module>
    connection = psycopg2.connect("dbname=sqltest")
  File "/usr/lib64/python3.4/site-packages/psycopg2/__init__.py", line 164, in connect
    conn = _connect(dsn, connection_factory=connection_factory, async=async)
psycopg2.OperationalError
Benutzeravatar
sparrow
User
Beiträge: 4164
Registriert: Freitag 17. April 2009, 10:28

Ich habe jetzt sowohl versucht den Postgres-Server kaputt zu konfigurieren, als auch absichtlich falsche Parameter mitgegeben.
Einen Fehlertext habe ich immer zusammen mit der Exception zurück bekommen. Sorry.
Kalli87
User
Beiträge: 281
Registriert: Montag 10. November 2014, 11:27

Guten Morgen, also kann man jetzt glatt sagen Ihr wisst auch nicht was los is?

Edit

Manchmal is es doch einfacher als man denkt aber ein Grund mehr warum ich Linux hasse :D
Der Nutzer also in diesem Fall "karl" war nicht angelegt um PostgreSQL Datenbanken anzulegen.
Dementsprechend ging auch keine Verbindung zur Datenbank.

Edit :D

@BlackJack

Code: Alles auswählen

import psycopg2
connection = psycopg2.connect("dbname=sqltest")
cursor = connection.cursor()
cursor.execute('INSERT INTO staatsangehoerigkeit VALUES     '
               "('afghanisch')              ,"
               "('aegyptisch')              ,"
               "('albanisch')               ,"
               "('algerisch')               ,"
               "('amerikanisch')            ,"
               "('andorranisch')            ,"
               "('angolanisch')             ,"
               "('antiguanisch')            ,"
               "('aequatorialguineisch')    ,"
               "('argentinisch')            ,"
               "('armenisch')               ,"
               "('aserbaidschanisch')       ,"
               "('aethiopisch')             ,"
               "('australisch')             ,"
               "('bahamaisch')              ,"
               "('bahrainisch')             ,"
               "('bangladeschisch')         ,"
               "('barbadisch')              ,"
               "('belgisch')                ,"
               "('belizisch')               ,"
               "('beninisch')               ,"
               "('bhutanisch')              ,"
               "('bolivianisch')            ,"
               "('bosnisch-herzegowinisch') ,"
               "('botsuanisch')             ,"
               "('brasilianisch')           ,"
               "('britisch')                ,"
               "('bruneiisch')              ,"
               "('bulgarisch')              ,"
               "('burkinisch')              ,"
               "('burundisch')              ,"
               "('chilenisch')              ,"
               "('chinesisch')              ,"
               "('costa-ricanisch')         ,"
               "('daenisch')                ,"
               "('deutsch')                 ,"
               "('dominicanisch')           ,"
               "('dominikanisch')           ,"
               "('dschibutisch')            ,"
               "('ecuadorianisch')          ,"
               "('eritreisch')              ,"
               "('estnisch')                ,"
               "('fidschianisch')           ,"
               "('finnisch')                ,"
               "('franzoesisch')            ,"
               "('gabunisch')               ,"
               "('gambisch')                ,"
               "('georgisch')               ,"
               "('ghanaisch')               ,"
               "('grenadisch')              ,"
               "('griechisch')              ,"
               "('guatemaltekisch')         ,"
               "('guineisch')               ,"
               "('guinea-bissauisch')       ,"
               "('guyanisch')               ,"
               "('haitianisch')             ,"
               "('honduranisch')            ,"
               "('indisch')                 ,"
               "('indonesisch')             ,"
               "('irakisch')                ,"
               "('iranisch')                ,"
               "('irisch')                  ,"
               "('isländisch')              ,"
               "('israelisch')              ,"
               "('italienisch')             ,"
               "('ivorisch')                ,"
               "('jamaikanisch')            ,"
               "('japanisch')               ,"
               "('jemenitisch')             ,"
               "('jordanisch')              ,"
               "('kambodschanisch')         ,"
               "('kamerunisch')             ,"
               "('kanadisch')               ,"
               "('kapverdisch')             ,"
               "('kasachisch')              ,"
               "('katarisch')               ,"
               "('kenianisch')              ,"
               "('kirgisisch')              ,"
               "('kiribatisch')             ,"
               "('kolumbianisch')           ,"
               "('komorisch')               ,"
               "('kongolesisch')            ,"
               "('kongolesisch')            ,"
               "('kosovarisch')             ,"
               "('kroatisch')               ,"
               "('kubanisch')               ,"
               "('kuwaitisch')              ,"
               "('laotisch')                ,"
               "('lesothisch')              ,"
               "('lettisch')                ,"
               "('libanesisch')             ,"
               "('liberianisch')            ,"
               "('libysch')                 ,"
               "('liechtensteinisch')       ,"
               "('litauisch')               ,"
               "('lucianisch')              ,"
               "('luxemburgisch')           ,"
               "('madagassisch')            ,"
               "('malawisch')               ,"
               "('malaysisch')              ,"
               "('maledivisch')             ,"
               "('malisch')                 ,"
               "('maltesisch')              ,"
               "('marokkanisch')            ,"
               "('marshallisch')            ,"
               "('mauretanisch')            ,"
               "('mauritisch')              ,"
               "('mazedonisch')             ,"
               "('mexikanisch')             ,"
               "('mikronesisch')            ,"
               "('moldauisch')              ,"
               "('monegassisch')            ,"
               "('mongolisch')              ,"
               "('montenegrinisch')         ,"
               "('mosambikanisch')          ,"
               "('myanmarisch')             ,"
               "('namibisch')               ,"
               "('nauruisch')               ,"
               "('nepalesisch')             ,"
               "('neuseelaendisch')         ,"
               "('nicaraguanisch')          ,"
               "('niederländisch')          ,"
               "('nigrisch')                ,"
               "('nigerianisch')            ,"
               "('niueanisch')              ,"
               "('nordkoreanisch')          ,"
               "('norwegisch')              ,"
               "('omanisch')                ,"
               "('oesterreichisch')         ,"
               "('pakistanisch')            ,"
               "('palauisch')               ,"
               "('panamaisch')              ,"
               "('papua-neuguineisch')      ,"
               "('paraguayisch')            ,"
               "('peruanisch')              ,"
               "('philippinisch')           ,"
               "('polnisch')                ,"
               "('portugiesisch')           ,"
               "('ruandisch')               ,"
               "('rumaenisch')              ,"
               "('russisch')                ,"
               "('salomonisch')             ,"
               "('salvadorianisch')         ,"
               "('sambisch')                ,"
               "('samoanisch')              ,"
               "('san-marinesisch')         ,"
               "('são-toméisch')            ,"
               "('saudi-arabisch')          ,"
               "('schwedisch')              ,"
               "('schweizerisch')           ,"
               "('senegalesisch')           ,"
               "('serbisch')                ,"
               "('seychellisch')            ,"
               "('sierra-leonisch')         ,"
               "('simbabwisch')             ,"
               "('singapurisch')            ,"
               "('slowakisch')              ,"
               "('slowenisch')              ,"
               "('somalisch')               ,"
               "('spanisch')                ,"
               "('sri-lankisch')            ,"
               "('südafrikanisch')          ,"
               "('suedkoreanisch')          ,"
               "('suedsudanesisch')         ,"
               "('sudanesisch')             ,"
               "('suedsudanesisch')         ,"
               "('surinamisch')             ,"
               "('swasiländisch')           ,"
               "('syrisch')                 ,"
               "('tadschikisch')            ,"
               "('tansanisch')              ,"
               "('thailändisch')            ,"
               "('timoresisch')             ,"
               "('togoisch')                ,"
               "('tongaisch')               ,"
               "('tschadisch')              ,"
               "('tschechisch')             ,"
               "('tunesisch')               ,"
               "('tuerkisch')               ,"
               "('turkmenisch')             ,"
               "('tuvaluisch')              ,"
               "('ugandisch')               ,"
               "('ukrainisch')              ,"
               "('ungarisch')               ,"
               "('uruguayisch')             ,"
               "('usbekisch')               ,"
               "('vanuatuisch')             ,"
               "('vatikanisch')             ,"
               "('venezolanisch')           ,"
               "('vietnamesisch')           ,"
               "('vincentisch')             ,"
               "('weißrussisch')            ,"
               "('zentralafrikanisch')      ,"
               "('zyprisch')")
connection.commit()
connection.close()
Ob du es glaubst oder nicht so funktioniert das ganze. Meine Tabelle wurde gefüllt und das ohne Probleme ;)
Sirius3
User
Beiträge: 17711
Registriert: Sonntag 21. Oktober 2012, 17:20

@Kalli87: bei mir sind die Datenbank-Nutzer unabhängig von den Linux-Nutzern. Normalerweise will man ja nicht, dass der Datenbanknutzer sich auf dem System auch einloggen kann und Quatsch machen. Das erklärt aber nicht, warum Du keine sinnvolle Fehlermeldung bekommst.

Niemand schreibt 200-zeilige SQL-Statements. Die Daten werden z.B. aus einer Datei gelesen und per executemany in die Datenbank geschrieben.
Benutzeravatar
sparrow
User
Beiträge: 4164
Registriert: Freitag 17. April 2009, 10:28

@Kalli87: Kannst du mir mal bitte die Struktur der Tabelle zeigen?
Kalli87
User
Beiträge: 281
Registriert: Montag 10. November 2014, 11:27

@sparrow
was möchtest du genau sehen?
ich kann dir sagen das die Tabelle nur eine Spalte hat, nationalität varchar(50)
Keine laufende Nummer oder ähnliches.
Benutzeravatar
sparrow
User
Beiträge: 4164
Registriert: Freitag 17. April 2009, 10:28

Ok, das was du da tust funktioniert zwar, aber ich glaube das ist Postgres-spezial.

Besser zu lesen und wahrscheinlich weniger fehleranfällig wäre es allerdings wirklich mit executemany. Wenn du mehr mit postgres machen willst, dann solltest du dort einen Blick drauf werfen.

Allerdings habe ich in der Vergangenheit bei sehr, sehr vielen Statements über executemany unter postgres festgestellt, dass das sehr langsam sein kann. Es kann sein, dass der Autor das mit den Prepared Statements nicht so abgebildet hat, dass der Server das als solche abarbeitet.
Kalli87
User
Beiträge: 281
Registriert: Montag 10. November 2014, 11:27

Ich bin sonst kein Postgres nutzer und hab es an sich auch nie verwendet aber ich muss damit arbeiten und kenne noch nicht alle Funktionen usw.
Das mit den Nationalitäten hab ich geschrieben und mehrfach probiert, ich hasse es einfach in der Konsole alles einzutippen und wenn da mal ein Fehler
is gehts wieder von vorne los.... war mir auf dauer zu doof.
Hab deswegen mir das kleine Skript geschrieben, Anfang des Jahres war das glaub ich und da war mir "executemany" noch kein begriff, jetzt zwar auch nicht
aber ich schau es mir genauer an.
Benutzeravatar
sparrow
User
Beiträge: 4164
Registriert: Freitag 17. April 2009, 10:28

Hier ist die Dokumentation. Damit hast du die Möglichkeit ein Statement zu übergeben und eine Liste der entsprechenden Parameter.

Du machst also ein Insert-Statement mit Platzhalter und als zweiten Parameter eine Liste von Tupeln, die die Platzhalter auffüllen.
Zuletzt geändert von sparrow am Donnerstag 3. September 2015, 10:46, insgesamt 1-mal geändert.
BlackJack

@Kalli87: Wie verwendet man eine Tabelle mit Zeichenketten ohne das die eine Spalte mit IDs hat?
Antworten