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

Zapytanie aktualizujące MySQLdb w Pythonie kończy się niepowodzeniem

Uważam, że @Jason Creighton i @S.Lott mają rację.

Przynajmniej jeśli aktualizowana tabela znajduje się w transakcyjnym aparacie pamięci masowej. InnoDB jest transakcyjny, ISAM nie jest.

Musisz albo wywołać commit() w obiekcie połączenia przed jego zamknięciem lub musisz ustawić połączenie w tryb automatycznego zatwierdzania. Nie jestem pewien, jak to zrobić dla połączenia MySQLdb, myślę, że albo ustawisz argument konstruktora połączenia, albo ustawisz właściwość po utworzeniu obiektu połączenia.

Coś takiego:

conn = mysql.connection(host, port, autocommit=True)

# or
conn = mysql.connection(host, port)
conn.autocommit(True)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wstaw pole identyfikatora wygenerowane przez wyzwalacz, ale nie przekazane dalej

  2. Znajdź i zamień tekst w całej tabeli za pomocą zapytania MySQL

  3. Wstawianie i pobieranie obrazów do mysql przez Pythona

  4. Jak wyświetlić dodatkowe rekordy w wierszu podrzędnym tabeli danych z odpowiednim identyfikatorem?

  5. MySql używający poprawnej składni dla klauzuli over