Vzhledem k tomu, že toto je nejlepší odpověď na Googlu při hledání „savepoint neexistuje“, přidám své řešení i sem.
Měl jsem TRUNCATE
příkazu v kódu provedeném v mé transakci, což způsobilo implicitní potvrzení a tím transakci ukončila. Vytvoření bodu uložení mimo transakci nezpůsobí chybu, pouze se neprovede. To znamená, že poprvé si všimnete, že je něco špatně, když se pokusíte uvolnit bod uložení / vrátit jej zpět.
Toto je úplný seznam příkazů, které způsobují implicitní potvrzení: https://dev.mysql.com/doc/refman/5.7/en/implicit-commit.html