sql >> Databasteknik >  >> RDS >> Mysql

MySQL varför cursor.execute(sql, multi=True) inte fungerar men 2 cursor.execute(sql) fungerar?

Detta uttalande:

cursor.execute(sql, multi=True)

skapar en iterator över resultaten. Det ser ut som att det är lat (dvs. det kör SQL-satser bara efter behov). Du frågar aldrig efter resultaten för det andra påståendet, så det körs bara det första. Försök:

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

I allmänhet är det bättre att bara använda separata execute() samtal.




  1. Vilket är snabbare – INSTR eller LIKE?

  2. INET_ATON() och INET_NTOA() i PHP?

  3. Hur tar man bort dåliga tecken som inte är lämpliga för utf8-kodning i MySQL?

  4. Vad är databaser?