Heim > Datenbank > MySQL-Tutorial > Eine kurze Diskussion zum MySQL-Transaktionsmanagement (Grundlagen)

Eine kurze Diskussion zum MySQL-Transaktionsmanagement (Grundlagen)

青灯夜游
Freigeben: 2019-02-26 10:53:03
nach vorne
2550 Leute haben es durchsucht

Der Inhalt dieses Artikels ist eine kurze Diskussion der MySQL-Transaktionsverwaltung (Grundlagen). Ich hoffe, dass er für Freunde hilfreich ist.

Transaktionsverarbeitung wird verwendet, um die Integrität der Datenbank usw. aufrechtzuerhalten, um sicherzustellen, dass MySQL-Vorgänge entweder erfolgreich sind oder fehlschlagen (Myisam unterstützt keine Transaktionen)

1 . Schlüsselwörter

  1. Transaktion bezieht sich auf eine Reihe von SQL-Anweisungen;

  2. Rollback bezieht sich auf den Prozess des Rückgängigmachens des angegebenen Vorgangs SQL-Anweisung;

  3. Commit bezieht sich auf das Schreiben der nicht gespeicherten SQL-Anweisungsergebnisse in die Datenbanktabelle;

  4. Savepoint bezieht sich auf die Einstellung während der Transaktionsverarbeitung A temporärer Platzhalter, für den Sie ein Rollback veranlassen können (im Gegensatz zum Rollback der gesamten Transaktion).

2. Rollback verwenden

select * from orderitems;
START TRANSACTION;
DELETE FROM orderitems;
select * from orderitems;
ROLLBACK;
select * from orderitems;
Nach dem Login kopieren

3. Commit verwenden

START TRANSACTION;
DELETE FROM orderitems where order_num = 20010;
DELETE FROM orders WHERE order_num = 20010;
COMMIT
Nach dem Login kopieren

Gehen Sie davon aus, dass der zweite Löschvorgang fehlschlägt, machen Sie einen Rollback und machen Sie die Anweisungen im Transaktionsblock rückgängig

4. Verwenden Sie Aufbewahrungspunkte

Eine komplexe Transaktionsverarbeitung kann ein teilweises Commit oder Rollback erfordern.
Um das Zurücksetzen eines Teils der Transaktion zu unterstützen, müssen Platzhalter an geeigneten Stellen im Transaktionsblock platziert werden. Auf diese Weise können Sie bei einem Rollback auf einen Platzhalter zurückgreifen.
Diese Platzhalter werden Retention Points genannt. Um einen Platzhalter zu erstellen, verwenden Sie SAVEPOINT wie folgt: 🎜>

SAVEPOINT delete1
Nach dem Login kopieren
Tipps: Je mehr reservierte Punkte, desto besser, es ist bequem und flexibel zu verwenden , aber es besteht keine Notwendigkeit dorthin zu gehen! Alles geschieht in Maßen

Retention Points freigeben

1 Die Retention Points werden automatisch freigegeben, nachdem die Transaktion abgeschlossen ist (führen Sie ein ROLLBACK oder COMMIT aus)

Den Aufbewahrungspunkt explizit freigeben

5. Ändern Sie die Standardeinstellung, um das Verhalten festzuschreiben

MySQL schreibt automatisch alle Änderungen fest.

2、release savepoint delete1Änderungen nicht automatisch festschreiben

ROLLBACK TO delete1
Nach dem Login kopieren
Das Obige ist der gesamte Inhalt dieses Artikels, ich hoffe, dass er für das Lernen aller hilfreich sein wird. Weitere spannende Inhalte finden Sie in den entsprechenden Tutorial-Kolumnen auf der chinesischen PHP-Website! ! !

Das obige ist der detaillierte Inhalt vonEine kurze Diskussion zum MySQL-Transaktionsmanagement (Grundlagen). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:https://segmentfault.com/a/1190000018282782
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