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
Transaktion bezieht sich auf eine Reihe von SQL-Anweisungen;
Rollback bezieht sich auf den Prozess des Rückgängigmachens des angegebenen Vorgangs SQL-Anweisung;
Commit bezieht sich auf das Schreiben der nicht gespeicherten SQL-Anweisungsergebnisse in die Datenbanktabelle;
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
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 detaillierte Inhalt vonEine kurze Diskussion zum MySQL-Transaktionsmanagement (Grundlagen). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!