Der er ingen grund til at bruge en generator til at sløjfe over mydata . Indsend bare mydata direkte:
cur.executemany(sql, mydata)
Databaseadapteren vil loope over mydata for dig og et generatorudtryk indsætter kun en unødvendig ekstra loop.
Hvis du ikke får nogen fejlmeddelelser, men der er heller ingen ændringer, skal du kontrollere følgende:
-
Sørg for at begå transaktionen; kør
con.commit()efter.executemany()ring. -
Trippel-tjek at
mydataer ikke tom.
Databaseadapteren vil håndtere flydende værdier korrekt for dig; hvis en kolonne er markeret som FLOAT NOT NULL og du sender en Python-float-værdi for den kolonne, Things Just Work. Det er det, SQL-parametre er til for, håndtering af citering af forskellige datatyper korrekt.