sql >> Database >  >> RDS >> Mysql

MySQLdb.cursor.execute kan niet meerdere query's uitvoeren

Zoals alle Python DB-API 2.0-implementaties , de cursor.execute() methode is ontworpen, duurt slechts één statement, omdat het garanties geeft over de status van de cursor achteraf.

Gebruik de cursor.executemany() methode in plaats van. Houd er rekening mee dat, volgens de DB-API 2.0-specificatie :

Dit gebruiken voor meerdere INSERT uitspraken zouden prima moeten zijn:

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

Als u een reeks ongelijksoortige instructies moet uitvoeren, zoals in een script, dan kunt u in de meeste gevallen de instructies gewoon splitsen op ; en voer elke instructie naar cursor.execute() afzonderlijk.



  1. Database importeren/exporteren met SQL Server Server Management Studio

  2. Sluit automatisch langlopende query's (MySql), Apache Tomcat DataSource

  3. Waarden samenvoegen op basis van ID

  4. BLOB-afbeelding lezen uit MySQL-database