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

MySQL hvorfor cursor.execute(sql, multi=True) ikke virker, men 2 cursor.execute(sql) virker?

Denne erklæring:

cursor.execute(sql, multi=True)

opretter en iterator over resultaterne. Det ser ud til, at det er doven (dvs. det udfører kun SQL-sætninger efter behov). Du beder aldrig om resultaterne for den anden sætning, så den udfører kun den første. Prøv:

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

Generelt er det bedre bare at bruge separat execute() opkald.




  1. Docker MYSQL '[2002] forbindelse nægtet'

  2. Automatiser implementering af din MySQL- eller Postgres-klynge fra backup

  3. Hvordan fungerer MySQL-visninger?

  4. Sådan aktiverer du Slow Query Log i PostgreSQL