Nie ma potrzeby używania generatora do pętli mydata
. Po prostu przekaż mydata
bezpośrednio:
cur.executemany(sql, mydata)
Adapter bazy danych wykona pętlę przez mydata
dla ciebie i wyrażenie generatora wstawia tylko niepotrzebną dodatkową pętlę.
Jeśli nie pojawiają się żadne komunikaty o błędach, ale nie ma też żadnych zmian, sprawdź następujące elementy:
-
Upewnij się, że dokonujesz transakcji; uruchom
con.commit()
po.executemany()
zadzwoń. -
Potrójna kontrola że
mydata
nie jest pusty.
Adapter bazy danych będzie poprawnie obsługiwał wartości zmiennoprzecinkowe; jeśli kolumna jest oznaczona jako FLOAT NOT NULL
i przekazujesz wartość zmiennoprzecinkową Pythona dla tej kolumny, Rzeczy po prostu działają. Do tego służą parametry SQL, obsługujące prawidłowe cytowanie różnych typów danych.