MySQL überprüfen, ob die Sperre kostenlos ist

MySQL überprüfen, ob die Sperre kostenlos ist

In MySQL bezieht sich ein Schloss auf ein spezielles Flag, das in einer Datenbanktabelle enthalten ist. Ein Schloss verhindert, dass andere Sitzungen gleichzeitig auf dieselbe Tabelle zugreifen. Eine MySQL -Sitzung kann eine Verbindung herstellen und auf das Schloss für sich selbst zugreifen oder freigeben. Dies bedeutet, dass eine Sitzung keine Schlösser für andere Sitzungen erwerben oder veröffentlichen kann. Sobald ein Schloss veröffentlicht ist, können zusätzliche Sitzungen auf die Tabelle zugreifen und ändern.

In diesem Artikel werden die Grundlagen von Sperren in MySQL untersucht und wie wir eine erstellen und eine Sperre für eine Datenbanktabelle erwerben und veröffentlichen können.

Beispieltabelle erstellen

Bevor wir mit der Erstellung und Erfassung von Sperren in MySQL fortfahren, können wir eine Beispieltabelle erstellen, mit der wir diesen Code veranschaulichen können.

Code-Auszug:

So erstellen Sie Schloss in MySQL

Sobald wir die Beispieltabelle erstellt und bereit sind, können wir fortfahren und diskutieren, wie Sie eine Sperre in einer MySQL -Tabelle erstellen können.

Wie Sie vermutet haben, verwenden wir die Lock -Tabellenanweisung, um ein Sperre in MySQL zu erstellen.

Die Syntax ist wie unten gezeigt:

Sperrentabellen table_name [read | SCHREIBEN]

In der obigen Anweisung beginnen wir mit dem Schlüsselwort der Sperrtabellen, gefolgt vom Tabellennamen, den wir sperren möchten.

Wir geben dann die Art der Sperrung an, die wir für die festgelegte Tabelle erstellen möchten. Unterstützte Schließtypen:

  1. Lesen [lokal] -Die Sitzung kann die Tabelle lesen, aber nicht darauf schreiben.
    A. Diese Art von Schloss kann von mehreren Sitzungen gleichzeitig verwendet werden, da keine Änderungen auf die Tabelle angewendet werden.
    B. In ähnlicher Weise können auch andere Sitzungen ohne Leseschloss in die Tabelle gelesen.
  2. [Niedrige Priorität] Schreiben - Mit dieser Sperrenart kann die Sitzung lesen und in die Tabelle schreiben.
    A. Im Gegensatz zum Leseschlos.
    B. MySQL blockiert auch alle Sperranfragen nach anderen Sitzungen, während dieses Schloss abgehalten wird.

Erstellen Sie Leseschloss

Wir können eine Lesesperrung in der Tabelle erstellen, die wir zuvor erstellt haben, indem wir den Code wie gezeigt ausführen:

Sperren Tabellen Benutzer lesen;

Dies sollte eine Lesesperrung in der Tabelle erstellen, die nur Lesevorgänge ermöglicht. Wir können dies überprüfen, indem wir einen Datensatz in die Tabelle einfügen.

EINFÜGEN IN
Benutzer (Benutzername, E -Mail, Land)
WERTE
('LinuxHint', '[email protected] ',' wir ');

Da die Tabelle mit einer Lesesperrung gesperrt ist, gibt MySQL einen Fehler wie gezeigt zurück:

Um in die Tabelle einzufügen, können Sie die Sperre mithilfe der Entsperranweisung freigeben.

Tische entsperren;

Dies sollte die Tabellen entsperren und Ihnen und anderen Sitzungen die Zielvorgänge durchführen lassen.

MySQL überprüfen, ob die benannte Lock kostenlos ist

Zum Glück bietet uns MySQL eine einfache Funktion, mit der wir feststellen können, ob ein benanntes Schloss kostenlos ist oder nicht.

Die Funktionssyntax ist wie unten gezeigt:

Is_free_lock (str)

Wo STR auf den Namen der Schloss bezieht, möchten Sie überprüfen, ob es kostenlos ist. Wenn frei, gibt die Funktion 1 zurück. Daher verwendet keine Sitzung das Schloss. Andernfalls gibt die Funktion 0 zurück, was bedeutet, dass das Schloss verwendet wird.

Eine weitere Funktion, die Sie wissen müssen, ist die Funktion is_used_lock (). Die Syntax ist wie gezeigt:

Is_used_lock (str)

Die Funktion bestimmt, ob das angegebene Schloss kostenlos ist. Wenn wahr, gibt es die Verbindungskennung der Sitzung der Sitzung zurück. Sonst kehren Sie Null zurück.

Abschluss

In diesem Artikel wurde untersucht, wie man mit Sperren in der MySQL -Datenbank arbeitet. Wir haben besprochen, wie Sie ein Schloss für eine bestimmte Tabelle erstellen können, wie Sie eine Tabelle entsperren und wie man überprüft, ob eine Sperre kostenlos ist oder nicht.