Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Inserindo vários objetos de dicionário em um banco de dados MySQL usando python e MySQLdb


Não há necessidade de usar um gerador para fazer um loop sobre mydata . Basta passar mydata diretamente:
cur.executemany(sql, mydata)

O adaptador de banco de dados fará um loop sobre mydata para você e uma expressão geradora apenas insere um loop extra desnecessário.

Se você não receber nenhuma mensagem de erro, mas também não houver alterações, verifique o seguinte:

  • Certifique-se de confirmar a transação; execute con.commit() após o .executemany() ligar.

  • Verificação tripla que mydata não está vazio.

O adaptador de banco de dados manipulará corretamente os valores flutuantes para você; se uma coluna estiver marcada como FLOAT NOT NULL e você passa um valor flutuante do Python para essa coluna, Things Just Work. É para isso que servem os parâmetros SQL, manipulando corretamente a citação de diferentes tipos de dados.