MySQL i opcja ustawiania Autocommit

MySQL i opcja ustawiania Autocommit
P1
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 150
0

Mam pytanko. Czy jeżeli chcę rozpocząć jakąś dłuższą transakcje w MySQL i wywołuję ją np. przez BEGIN; to czy wcześniej zawsze muszę ustawić Autocommit=0 czy tez wywołanie BEGIN wyłącza na czas rozpoczętej transakcji autocommitowanie?

  • Rejestracja: dni
  • Ostatnio: dni
0

Każda operacja wykonywana na MySQL jest wykonywana w transakcji. Jeżeli nie uruchomisz jawnie transakcji, to każda pojedyncza operacja (SELECT, UPDATE itd) jest wykonywana w transakcji i automatycznie zakańczana. SET autocommit zmienia jedynie dla bieżącej sesji tryb kończenia transakcji. Przy autocommit=0 trzeba jawnie użyć polecenie COMMIT lub ROLLBACK aby zakończyć transakcję.

Jeżeli chcesz uruchomić jawnie transakcję, która będzie jawnie zakończona to robisz to poleceniem START TRANSACTION lub BEGIN a kończysz poleceniem COMMIT lub ROLLBACK. Wtedy masz pełną kontrolę nad transakcją i nie musisz korzystać z SET autocommit.

P1
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 150
0

Dzięki : )

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.