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
mydatanie 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.