Het is niet nodig om een generator te gebruiken om mydata
door te lussen . Geef gewoon mydata
door direct:
cur.executemany(sql, mydata)
De database-adapter loopt over mydata
for you en een generator-expressie voegt alleen een onnodige extra lus in.
Als u geen foutmeldingen krijgt, maar er zijn ook geen wijzigingen, controleer dan het volgende:
-
Zorg ervoor dat u de transactie uitvoert; voer
con.commit()
uit na de.executemany()
bellen. -
Drievoudige controle dat
mydata
is niet leeg.
De database-adapter zal de float-waarden correct voor u afhandelen; als een kolom is gemarkeerd als FLOAT NOT NULL
en je geeft een Python-floatwaarde door voor die kolom, Things Just Work. Dat is waar SQL-parameters voor zijn, het correct afhandelen van citaten van verschillende datatypes.