Einige Leute im Internet sagten, dass nach dem Öffnen einer Transaktion ein SQL-Anweisungsausführungsfehler oder ein Programmfehler auftritt. Wenn das Rollback nicht ausgeführt wird, wird das Commit beim nächsten Ausführen automatisch festgeschrieben kein Rollback-Rollback
Wenn Sie jedoch MySQL-Treiber in anderen Sprachen verwenden, verfügen diese Treiber im Allgemeinen über die Funktion, AUTOCOMMIT automatisch wiederherzustellen. Nach Abschluss der Anforderungsverarbeitung werden nicht verarbeitete Transaktionen automatisch zurückgesetzt.
Aber einige Leute sagen, dass Ausnahmen ausgelöst werden, wenn MySQL nicht festgeschriebene Transaktionen hat, sollte der automatisch übermittelte Parameter AUTOCOMMIT zu diesem Zeitpunkt 0 sein.
Das offizielle Dokument sagt Folgendes:
Wenn das Skript endet oder wenn eine Verbindung geschlossen werden sollPDO führt automatisch einen Rollback durchDas bedeutet, dass das Skript endet (einschließlich normalem Ende oder abnormalem Ende).
Das Dokument hat es sehr deutlich gemacht.PDO wird automatisch zurückgesetzt.
Wenn Sie den PDO-Treiber nicht verwenden, können Sie die entsprechende Treiberdokumentation überprüfen oder in der Frage klar angeben, welchen Treiber Sie verwenden.
Übrigens wird die bisherige Funktion mysql_connect() offiziell nicht mehr empfohlen (war veraltet).