Mysql
 sql >> база данни >  >> RDS >> Mysql

MySQL защо cursor.execute(sql, multi=True) не работи, но 2 cursor.execute(sql) работи?

Това изявление:

cursor.execute(sql, multi=True)

създава итератор върху резултатите. Изглежда, че е мързелив (т.е. изпълнява SQL изрази само когато е необходимо). Никога не питате за резултатите за втория оператор, така че той изпълнява само първия. Опитайте:

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

Като цяло е по-добре просто да използвате отделен execute() обаждания.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL2 Ruby gem няма да инсталира 10.6

  2. MySQL избира записи за дубликати, използвайки множество колони

  3. MySQL Подобно на множество стойности

  4. Лесен начин за експортиране на SQL таблица без достъп до сървъра или phpMyADMIN

  5. емулиране на substring_index() на MySQL в PGSQL