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

Esegui il file .sql in Python con MySQLdb

MySQLdb sembra consentire questo fuori dagli schemi, devi solo chiamare cursor.nextset() per scorrere i set di risultati restituiti.

db = conn.cursor()
db.execute('SELECT 1; SELECT 2;')

more = True
while more:
    print db.fetchall()
    more = db.nextset()

Se vuoi essere assolutamente sicuro che il supporto per questo sia abilitato e/o disabilitare il supporto, puoi usare qualcosa del genere:

MYSQL_OPTION_MULTI_STATEMENTS_ON = 0
MYSQL_OPTION_MULTI_STATEMENTS_OFF = 1

conn.set_server_option(MYSQL_OPTION_MULTI_STATEMENTS_ON)
# Multiple statement execution here...
conn.set_server_option(MYSQL_OPTION_MULTI_STATEMENTS_OFF)