Nej, transaktioner återställs inte så snart ett fel uppstår. Men du kanske använder en klientapplikation som tillämpar denna policy.
Om du till exempel använder kommandoradsklienten mysql, slutar den normalt att köras när ett fel uppstår och kommer att avslutas. Att avsluta medan en transaktion pågår gör att den återställs.
När du skriver din egen ansökan kan du styra policyn vid återställning, men det finns några undantag:
- Att avsluta (dvs. koppla från databasen) återställer alltid en pågående transaktion
- Ett dödläge eller låst väntetid orsakar implicit en återställning
Förutom dessa villkor, om du anropar ett kommando som genererar ett fel, returneras felet som vanligt, och du är fri att göra vad du vill, inklusive att utföra transaktionen ändå.