Det finns inget behov av att använda en generator för att loopa över mydata
. Skicka bara in mydata
direkt:
cur.executemany(sql, mydata)
Databasadaptern går över mydata
för dig och ett generatoruttryck infogar bara en onödig extra loop.
Om du inte får några felmeddelanden men det inte heller finns några ändringar, kontrollera följande:
-
Se till att du genomför transaktionen; kör
con.commit()
efter.executemany()
ring. -
Trippelkontroll att
mydata
är inte tom.
Databasadaptern kommer att hantera flytvärden korrekt åt dig; om en kolumn är markerad som FLOAT NOT NULL
och du skickar in ett Python flytvärde för den kolumnen, Things Just Work. Det är vad SQL-parametrar är till för, hantera citering av olika datatyper korrekt.