sql >> Databasteknik >  >> RDS >> Mysql

executemany för MySQLdb-fel för stort antal rader

Du kan prova att ställa in max_allowed_packet parameter bara för en session :

sql ='SET SESSION max_allowed_packet=500M'
cursor.execute(sql)
sql = ...
args = ...
cursor.executemany(sql, args)

Om detta fungerar kan du lämna koden som den är, eller ändra din my.cnf-fil (med vetskap om att det löser exekveringsproblemet).



  1. När ska man använda enkla citattecken, dubbla citattecken och backticks i MySQL

  2. Tidsgränsen för att få lås väntan har överskridits; försök starta om transaktionen trots att jag inte använder en transaktion

  3. Avbryter inaktiva mysql-anslutningar

  4. Bevara icke-primitiva data i JPA