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

MySQL perché cursor.execute(sql, multi=True) non funziona ma 2 cursor.execute(sql) funzionano?

Questa affermazione:

cursor.execute(sql, multi=True)

crea un iteratore sui risultati. Sembra che sia pigro (cioè, esegue le istruzioni SQL solo se necessario). Non chiedi mai i risultati per la seconda istruzione, quindi sta eseguendo solo la prima. Prova:

for _ in cursor.execute(sql, multi=True): pass

In generale è meglio usare solo execute() separati chiamate.