Heim > Datenbank > MySQL-Tutorial > Hauptteil

Wie implementiert man pessimistisches Sperren in MySQL?

coldplay.xixi
Freigeben: 2020-06-30 17:21:37
Original
6365 Leute haben es durchsucht

Pessimistische MySQL-Sperrmethode: 1. Verwenden Sie zuerst [select ... for update] zum Sperren und nachdem der Vorgang abgeschlossen ist, verwenden Sie commit, um die Sperre aufzuheben. Anschließend verwendet die Innodb-Engine standardmäßig die Zeilenebene sperren; schließlich können keine Daten gefunden werden, sperren Sie die Tabelle einfach nicht.

Wie implementiert man pessimistisches Sperren in MySQL?

MySQL pessimistische Sperrmethode:

1. Transaktion starten

begin;/begin work;/start transaction; (三者选一就可以)
Nach dem Login kopieren

2 Produktinformationen

select status from table where id=1 for update;
Nach dem Login kopieren

3. Bestellung basierend auf Produktinformationen generieren

insert into table111 (id,goods_id) values (null,1);
Nach dem Login kopieren

4. Produktstatus auf 2 ändern

update table set status=2 where id=1;
Nach dem Login kopieren

Zusammenfassung:

1. Implementieren Sie eine pessimistische Sperre mit „select...“, um die Sperre zu aktualisieren, und verwenden Sie „commit“, um die Sperre aufzuheben, nachdem der Vorgang abgeschlossen ist.

2. Wann Bei Verwendung der Innodb-Engine, der Standardsperre auf Zeilenebene, wird eine Zeile gesperrt, wenn keine Abfragebedingung oder Bedingung vorliegt.

Wenn das Feld unklar ist, wird die gesamte Tabelle gesperrt gesperrt werden, und wenn die Bedingung ein Bereich ist, wird die gesamte Tabelle gesperrt.

3. Wenn keine Daten gefunden werden können, wird die Tabelle nicht gesperrt.

Verwandte Lernempfehlungen:
MySQL-Video-Tutorial

Das obige ist der detaillierte Inhalt vonWie implementiert man pessimistisches Sperren in MySQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage