Mysql
 sql >> Datenbank >  >> RDS >> Mysql

FEHLER 1305 (42000):SAVEPOINT ... existiert nicht

Da dies die Top-Antwort bei Google ist, wenn nach "Speicherpunkt existiert nicht" gesucht wird, füge ich meine Lösung auch hier hinzu.

Ich hatte einen TRUNCATE -Anweisung innerhalb des in meiner Transaktion ausgeführten Codes, die ein implizites Commit verursachte und somit die Transaktion beendete. Das Erstellen eines Sicherungspunkts außerhalb einer Transaktion verursacht keinen Fehler, er wird nur nicht ausgeführt. Das bedeutet, dass Sie zum ersten Mal bemerken, dass etwas nicht stimmt, wenn Sie versuchen, Ihren Sicherungspunkt freizugeben / zurückzusetzen.

Dies ist die vollständige Liste der Anweisungen, die ein implizites Commit verursachen: https://dev.mysql.com/doc/refman/5.7/en/implicit-commit.html