Mysql
 sql >> Base de données >  >> RDS >> Mysql

MySQLdb.cursor.execute ne peut pas exécuter plusieurs requêtes

Comme toutes les implémentations Python DB-API 2.0 , le cursor.execute() la méthode est conçue n'en prendre qu'un , car elle donne des garanties sur l'état du curseur par la suite.

Utilisez le cursor.executemany() méthode Au lieu. Notez que, conformément à la spécification DB-API 2.0 :

Utiliser ceci pour plusieurs INSERT les déclarations devraient être parfaites :

cursor.executemany('INSERT INTO table_name VALUES (%s)',
    [(1,), ("non-integer value",)]
)

Si vous devez exécuter une série d'instructions disparates comme à partir d'un script, dans la plupart des cas, vous pouvez simplement diviser les instructions sur ; et envoyez chaque instruction à cursor.execute() séparément.