Terugdraaien moet altijd worden afgehandeld door de clienttoepassing, niet de DB. De klant kan veel verschillende bewerkingen uitvoeren als een enkele "werkeenheid", daarom moet de klant controle hebben over wanneer dat werk aan de database wordt toegevoegd of teruggedraaid.
Referenties
Je kunt verwijzen naar deze handige link
van Tom Kyte, die zich zo sterk voelt over dit probleem dat hij zelfs voorstelt om commit/rollback uit PL/SQL te verwijderen (de proceduretaal van Oracle; ik weet dat je DB mysql is, maar het concept blijft hetzelfde).