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

Eine kurze Diskussion zum MySQL-Transaktionsmanagement (Grundlagen)

青灯夜游
青灯夜游nach vorne
2019-02-26 10:53:032629Durchsuche

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;

3. Commit verwenden

START TRANSACTION;
DELETE FROM orderitems where order_num = 20010;
DELETE FROM orders WHERE order_num = 20010;
COMMIT

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
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
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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:https://segmentfault.com/a/1190000018282782. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen