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

MySQLdb.cursor.execute não pode executar várias consultas


Como todas as implementações Python DB-API 2.0 , o cursor.execute() o método foi projetado com apenas um declaração, porque faz garantias sobre o estado do cursor posteriormente.

Use o cursor cursor.executemany() método em vez de. Observe que, de acordo com a especificação DB-API 2.0 :

Usando isso para vários INSERT declarações devem estar bem:
cursor.executemany('INSERT INTO table_name VALUES (%s)',
    [(1,), ("non-integer value",)]
)

Se você precisar executar uma série de instruções díspares como de um script, na maioria dos casos você pode simplesmente dividir as instruções em ; e alimentar cada instrução para cursor.execute() separadamente.