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

COMMIT OR conn.setAutoCommit(true)

Generalnie powinieneś używać Connection.commit() a nie Connection.setAutoCommit(true) zatwierdzić transakcję, chyba że chcesz przełączyć się z korzystania z transakcji na model „transakcja na wyciąg” w autocommit.

To powiedziawszy, wywołując Connection.setAutoCommit(true) podczas trwania transakcji zatwierdzi transakcję (jeśli sterownik jest zgodny z sekcją 10.1.1 specyfikacji JDBC 4.1). Ale naprawdę powinieneś to robić tylko wtedy, gdy chcesz pozostać w trybie autoCommit po tym, ponieważ włączenie / wyłączenie funkcji autoCommit w połączeniu może mieć większe obciążenie dla połączenia niż zwykłe zatwierdzanie (np. ponieważ musi przełączać się między menedżerami transakcji, wykonaj dodatkowe kontrole itp.).

Powinieneś także użyć Connection.commit() i nie używaj natywnego polecenia SQL COMMIT . Jak wyszczególniono w dokumentacji podłączenia:

Chodzi o to, że polecenia takie jak commit() i setAutoCommit(boolean) może wykonać więcej pracy w tle, na przykład zamknąć ResultSets i zamykanie lub resetowanie Statements . Użycie polecenia SQL COMMIT ominie to i potencjalnie doprowadzi twój sterownik / połączenie do nieprawidłowego stanu.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Porównanie dat MySQL

  2. Jak zaprogramować wyzwalacz MySQL, aby wstawić wiersz do innej tabeli?

  3. MySQL SELECT DISTINCT wiele kolumn

  4. MySQL Workbench - Jak zsynchronizować diagram EER

  5. Konwertuj kolumnę varchar na datę w mysql na poziomie bazy danych