Mysql
 sql >> Database >  >> RDS >> Mysql

Inserimento di più oggetti dizionario in un database MySQL utilizzando Python e MySQLdb

Non è necessario utilizzare un generatore per eseguire il loop su mydata . Basta passare mydata direttamente:

cur.executemany(sql, mydata)

L'adattatore del database eseguirà il loop su mydata per te e un'espressione del generatore inserisce solo un ciclo extra inutile.

Se non ricevi alcun messaggio di errore ma non ci sono nemmeno modifiche, controlla quanto segue:

  • Assicurati di confermare la transazione; esegui con.commit() dopo il .executemany() chiama.

  • Controllo triplo quel mydata non è vuoto.

L'adattatore del database gestirà correttamente i valori float per te; se una colonna è contrassegnata come FLOAT NOT NULL e passi un valore float Python per quella colonna, Things Just Work. Ecco a cosa servono i parametri SQL, gestendo correttamente le citazioni di tipi di dati diversi.