Ich versuche, Daten mit dem Befehl MySQLdb executemany wie folgt zu einer Tabelle (test_copy) hinzuzufügen:
db = mdb.connect(host="127.0.0.1",port=3306,user='XXXX',db="test")
cursor = db.cursor()
COM = "insert into test_copy (Short_Model) VALUES (%s)"
VALS = ['213','3232','fd','sadad']
cursor.executemany(COM,VALS)
cursor.close
Hinweis: Name der Tabelle = test_copy, Spaltenname = Short_Model
Problem ist, dass der Befehl fehlerfrei ausgeführt wird, aber wenn ich die Tabelle überprüfe, wurden keine Daten hinzugefügt.
Entschuldigung, wenn dies ein einfaches Problem ist, aber es macht mich in den letzten Stunden verrückt.
Vielen Dank.
3 Antworten
Vielen Dank an Jon Clements und Abhishek Mishra. Sie haben meine geistige Gesundheit zurückgegeben. Hier ist die endgültige Lösung für Interessierte:
db = mdb.connect(host="127.0.0.1",port=3306,user='xxxx',db="test")
cursor = db.cursor()
COM = "insert into test_copy (Short_Model) VALUES (%s)"
VALS = ['213','3232','fd','sadad']
cursor.executemany(COM,VALS)
db.commit()
Ein commit()
Aufruf ist erforderlich, um die Dinge in db abzuschließen. In den Dokumenten wird nicht klargestellt, ob executemany
die Änderungen automatisch festschreibt. Auch das Aktivieren der automatischen Festschreibung cursor.autocommit(True)
kann hilfreich sein.
cursor.close
sollte cursor.close()
sein, aber normalerweise möchten Sie cursor.commit()
, um sicherzustellen, dass Ihre Änderungen in Ihrer Datenbank wiedergegeben werden.
Verwandte Fragen
Neue Fragen
python
Python ist eine dynamisch typisierte Mehrzweck-Programmiersprache mit mehreren Paradigmen. Es wurde entwickelt, um schnell zu lernen, zu verstehen, zu verwenden und eine saubere und einheitliche Syntax durchzusetzen. Bitte beachten Sie, dass Python 2 ab dem 01.01.2020 offiziell nicht mehr unterstützt wird. Fügen Sie für versionenspezifische Python-Fragen das Tag [python-2.7] oder [python-3.x] hinzu. Wenn Sie eine Python-Variante (z. B. Jython, PyPy) oder eine Bibliothek (z. B. Pandas und NumPy) verwenden, fügen Sie diese bitte in die Tags ein.