sql >> Databasteknik >  >> RDS >> Mysql

FEL 1305 (42000):SAVEPOINT ... existerar inte

Eftersom detta är det bästa svaret på Google när jag söker efter "savepoint existerar inte", lägger jag till min lösning här också.

Jag hade en TRUNCATE uttalande i koden som kördes i min transaktion, vilket orsakade en implicit commit och därmed avslutade transaktionen. Att skapa en räddningspunkt utanför en transaktion orsakar inte ett fel, den kommer bara inte att exekveras. Det betyder att första gången du märker att något är fel är när du försöker släppa din räddningspunkt/återställa den.

Det här är hela listan över uttalanden som orsakar en implicit commit: https://dev.mysql.com/doc/refman/5.7/en/implicit-commit.html



  1. SQL_CALC_FOUND_ROWS / FOUND_ROWS() fungerar inte i PHP

  2. Fel vid skapande av tabell

  3. jquery ajax-anrop för att ställa in valda alternativ från en MySql-tabell

  4. JDBC-anslutningen misslyckades, fel:TCP/IP-anslutningen till värden misslyckades