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

MySQLdb.cursor.execute kan ikke køre flere forespørgsler

Som alle Python DB-API 2.0 implementeringer , cursor.execute() metoden er designet til kun at tage én sætning, fordi den giver garantier om markørens tilstand bagefter.

Brug cursor.executemany() metode i stedet. Bemærk, at i henhold til DB-API 2.0-specifikationen :

Bruger dette til flere INSERT udsagn burde være helt i orden:

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

Hvis du har brug for at udføre en række forskellige udsagn som fra et script, så kan du i de fleste tilfælde bare opdele udsagn på ; og feed hver sætning til cursor.execute() separat.



  1. Sådan henter du rækkeantallet for alle tabeller i en SQL SERVER-database

  2. Hvordan undgår man flere funktionsevaler med (func()).*-syntaksen i en SQL-forespørgsel?

  3. Indsættelse af blob-data i Java ved hjælp af PreparedStatement

  4. Annoncering af repmgr 2.0RC2