Automatisches Transaktions-Rollback
Die Frage dreht sich um das Verhalten von Transaktionen, wenn ein Fehler innerhalb eines von START TRANSACTION und eingeschlossenen Blocks von SQL-Anweisungen auftritt COMMIT-TRANSAKTION. Das OP stellt fest, dass die Transaktion automatisch zurückgesetzt wird, wenn vor der COMMIT TRANSACTION-Anweisung ein Syntaxfehler auftritt.
Transaktions-Rollback-Mechanismus
Nein, Transaktionen werden nicht zurückgesetzt sofort zurück, wenn ein Fehler auftritt. Bestimmte Clientanwendungen übernehmen jedoch möglicherweise bestimmte Richtlinien für die Fehlerbehandlung.
Zum Beispiel im MySQL-Befehlszeilenclient:
Anpassen der Rollback-Richtlinie
Beim Erstellen Ihrer eigenen Anwendungen haben Sie die Kontrolle über Transaktions-Rollback-Richtlinien. Beachten Sie jedoch, dass es Ausnahmen gibt, bei denen ein Rollback erzwungen wird:
Für alle anderen Szenarien, wenn während einer Transaktion ein Fehler auftritt , der Fehler wird zurückgegeben und der Entwickler hat die Wahl, die Transaktion festzuschreiben oder zu verwerfen.
Das obige ist der detaillierte Inhalt vonWann wird eine Transaktion in SQL nicht automatisch zurückgesetzt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!