Mysql Sprawdź, czy blokada jest bezpłatna

Mysql Sprawdź, czy blokada jest bezpłatna

W MySQL zamek odnosi się do specjalnej flagi zawartej w tabeli bazy danych. Blokada zapobiega jednoczesnym dostępie do innych sesji. Sesja MySQL może podłączyć się i uzyskać dostęp lub wydać blokadę dla siebie. Oznacza to, że sesja nie może nabyć ani zwolnić zamków na inne sesje. Po zwolnieniu blokady dodatkowe sesje mogą uzyskać dostęp i zmodyfikować tabelę.

W tym artykule zostanie zbadane podstawy zamków w MySQL oraz sposób, w jaki możemy utworzyć jeden, pozyskać i zwolnić blokadę do tabeli bazy danych.

Utwórz tabelę przykładową

Przed przystąpieniem do tworzenia i pozyskiwania zamków w MySQL, utwórzmy przykładową tabelę, której możemy użyć do zilustrowania tego kodu.

SNUPPET COD:

Jak utworzyć blokadę w mysql

Po utworzeniu i gotowania do pracy możemy kontynuować i omówić, jak utworzyć blokadę w tabeli MySQL.

Jak się domyślacie, aby utworzyć blokadę w MySQL, używamy instrukcji Lock Table.

Składnia jest jak pokazana poniżej:

Tabele blokady Table_name [czytaj | PISAĆ]

W powyższym stwierdzeniu zaczynamy od słowa kluczowego tabel blokady, a następnie nazwa tabeli, którą chcemy zablokować.

Następnie określamy typ blokady, który chcemy utworzyć dla tabeli SET. Obsługiwane typy blokad:

  1. Przeczytaj [lokalny] -Sesja może odczytać tabelę, ale nie pisać do niej.
    A. Ten typ blokady może być używany przez wiele sesji jednocześnie, ponieważ do tabeli nie stosuje się żadnych zmian.
    B. Podobnie inne sesje bez zamka odczytu mogą również odczytać w tabeli.
  2. [Niski priorytet] Napisz - Ten typ blokady pozwala sesji odczytać i zapisywać do tabeli.
    A. W przeciwieństwie do zamka odczytu, tylko jeden klient może uzyskać blokadę zapisu do danej tabeli.
    B. MySQL zablokuje również wszelkie żądania blokady według innych sesji podczas przechowywania tej blokady.

Utwórz zamek odczytu

Możemy utworzyć blokadę odczytu do tabeli, którą utworzyliśmy wcześniej, uruchamiając kod, jak pokazano:

Użytkownicy blokują czytanie;

Powinno to utworzyć blokadę odczytu w tabeli, umożliwiając tylko operacje odczytu. Możemy to zweryfikować, wkładając rekord do tabeli.

WŁÓŻ W
Użytkownicy (nazwa użytkownika, e -mail, kraj)
Wartości
(„Linuxhint”, „[email protected] ', „us”);

Ponieważ tabela jest zablokowana za pomocą blokady odczytu, MySQL zwróci błąd, jak pokazano:

Aby wstawić do tabeli, możesz zwolnić zamek za pomocą instrukcji odblokowania.

Odblokuj tabele;

Powinno to odblokować tabele i umożliwić tobie i innym sesjom na wykonywanie operacji docelowych.

MySQL sprawdź, czy nazwa Lock jest bezpłatna

Na szczęście MySQL zapewnia nam prostą funkcję, która pozwala nam ustalić, czy nazwany zamek jest bezpłatny, czy nie.

Składnia funkcji jest jak pokazana poniżej:

Is_free_lock (str)

Gdzie STR odnosi się do nazwy zamka, chcesz sprawdzić, czy jest bezpłatny. Jeśli jest wolna, funkcja zwraca 1. Stąd żadna sesja nie korzysta z zamka. W przeciwnym razie funkcja zwraca 0, co oznacza, że ​​zamek jest używany.

Inną funkcją, którą musisz wiedzieć, jest funkcja is_used_lock (). Składnia jest jak pokazana:

Is_used_lock (str)

Funkcja określa, czy określony zamek jest bezpłatny. Jeśli prawda, powrót identyfikator połączenia sesji. W przeciwnym razie powrót Null.

Wniosek

W tym artykule zbadano, jak pracować z zamkami w bazie danych MySQL. Omówiliśmy, w jaki sposób możesz utworzyć zamek na określonym tabeli, jak odblokować tabelę i jak sprawdzić, czy blokada jest bezpłatna, czy nie.