Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Einfügen mehrerer Wörterbuchobjekte in eine MySQL-Datenbank mit Python und MySQLdb

Es ist nicht erforderlich, einen Generator zu verwenden, um mydata zu durchlaufen . Geben Sie einfach mydata ein direkt:

cur.executemany(sql, mydata)

Der Datenbankadapter wird mydata durchlaufen für Sie und ein Generatorausdruck fügt nur eine unnötige zusätzliche Schleife ein.

Wenn Sie keine Fehlermeldungen erhalten, aber auch keine Änderungen, überprüfen Sie Folgendes:

  • Stellen Sie sicher, dass Sie die Transaktion festschreiben; Führen Sie con.commit() aus nach .executemany() anrufen.

  • Triple-Check dass mydata ist nicht leer.

Der Datenbankadapter behandelt Float-Werte korrekt für Sie; wenn eine Spalte als FLOAT NOT NULL markiert ist und Sie übergeben einen Python-Float-Wert für diese Spalte, Things Just Work. Dafür sind SQL-Parameter da, um das Zitieren verschiedener Datentypen korrekt zu handhaben.