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

Czy MySql automatycznie blokuje wiersze, czy muszę dodać blokadę w trybie udostępniania?

Myślę, że na podstawie twoich odpowiedzi na moje komentarze naprawdę nie powinieneś się martwić ręczną obsługą blokad tabeli. InnoDB obsługuje blokowanie na poziomie wiersza, a przy włączonym automatycznym zatwierdzaniu (jak to jest domyślnie) wszystkie indywidualne zapytania są w rzeczywistości obsługiwane w sposób transakcyjny.

Teraz, jeśli masz wiele zapytań SQL, które muszą być obsługiwane jako pojedyncza transakcja (tj. Zaktualizuj jedną tabelę, a następnie zaktualizuj inną tabelę - albo obydwa się powiedzie, albo oba zostaną wycofane), wtedy będziesz musiał konkretnie rozpocząć transakcję i albo ją zatwierdzić, albo cofnij go po wykonaniu tymczasowych zapytań.

Możesz także użyć SET TRANSACTION oświadczenie, jeśli chcesz zmienić poziom izolacji transakcji (domyślnie jest to `POWTARZALNY ODCZYT1).

Więcej informacji znajdziesz w Dokumentacja MySQL




  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 zoptymalizować bazę danych witryny

  2. Jak zoptymalizować widoki MySQL

  3. Dlaczego nie mogę wstawić 10 cyfr, gdy moja kolumna to INT(10)

  4. prosty sposób na zsumowanie wyniku z UNION w MySql

  5. jak uzyskać przeciwne wyniki z zapytania Laravel