Mysql
 sql >> Baza danych >  >> RDS >> Mysql

MySQL dlaczego cursor.execute(sql, multi=true) nie działa, ale 2 cursor.execute(sql) działa?

To oświadczenie:

cursor.execute(sql, multi=True)

tworzy iterator nad wynikami. Wygląda na to, że jest leniwy (tzn. wykonuje instrukcje SQL tylko w razie potrzeby). Nigdy nie pytasz o wyniki dla drugiej instrukcji, więc wykonujesz tylko pierwszą. Wypróbuj:

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

Ogólnie lepiej jest po prostu użyć oddzielnego execute() połączeń.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Najszybszy sposób na załadowanie danych liczbowych do tablicy python/pandas/numpy z MySQL

  2. Wyświetl wszystkie ograniczenia klucza obcego dla całej bazy danych MySQL

  3. Python, MySQL i SELECT dane wyjściowe do słownika z nazwami kolumn dla kluczy

  4. Nie można znaleźć klasy [org.springframework.orm.hibernate5.LocalSessionFactoryBean] dla ziarna o nazwie „hibernate5AnnotatedSessionFactory”

  5. Oblicz decyla na podstawie aktualności w MySQL