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

Sposoby na uniknięcie braku synchronizacji poleceń MySQLdb; nie możesz teraz uruchomić tego polecenia (2014) wyjątek

DB-API próbuje samodzielnie obsługiwać transakcje, rozpoczynając transakcję przy pierwszym poleceniu i mając własne wywołanie API do jej zatwierdzenia, więc:

cursor.execute( "CREATE TABLE t1 ( t1_id INT PRIMARY KEY AUTO_INCREMENT )" )
cursor.commit()
cursor.execute( "CREATE TABLE t2 ( t2_id INT PRIMARY KEY AUTO_INCREMENT )" )
cursor.commit()

Moim zdaniem jest to poważny, rażący błąd projektowy Pythona DB-API, który sprawia, że ​​wykonywanie poleceń poza transakcjami i posiadanie odpowiedniej kontroli nad transakcjami, np. używać rzeczy takich jak BEGIN EXCLUSIVE TRANSACTION SQLite . To tak, jakby ktoś bez prawdziwego doświadczenia w zakresie baz danych mógł zaprojektować API...




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak upewnić się, że w bazie danych MySQL nie ma wyścigu podczas inkrementacji pola?

  2. Błąd przygotowanej instrukcji mysql:MySQLSyntaxErrorException

  3. Jak używać instrukcji IF w kwerendzie sprzężenia MySQL?

  4. MySQL lub warunek

  5. Jak odgadnąć schemat w Mysqlinput w locie w Talend