Не е необходимо да използвате генератор, за да преглеждате mydata
. Просто предайте mydata
директно:
cur.executemany(sql, mydata)
Адаптерът на базата данни ще премине през mydata
за вас и изразът на генератора само вмъква ненужен допълнителен цикъл.
Ако не получавате никакви съобщения за грешка, но и няма промени, проверете следното:
-
Уверете се, че сте извършили транзакцията; стартирайте
con.commit()
след.executemany()
обадете се. -
Трикратна проверка че
mydata
не е празно.
Адаптерът на базата данни ще обработва правилно стойностите с плаваща стойност вместо вас; ако колона е маркирана като FLOAT NOT NULL
и вие предавате Python float стойност за тази колона, Things Just Work. За това служат параметрите на SQL, за правилна обработка на цитирането на различни типове данни.