Vrácení změn by měla vždy řešit klientská aplikace, ne DB. Klient může provádět mnoho různých operací jako jedna "jednotka práce", proto by klient měl mít kontrolu nad tím, kdy je tato práce svěřena do databáze nebo vrácena zpět.
Odkazy
Můžete se podívat na tento užitečný odkaz
od Toma Kytea, který je tak silně zaujatý tímto problémem, že dokonce navrhuje odstranit commit/rollback z PL/SQL (procedurální jazyk Oracle; vím, že vaše databáze je mysql, ale koncept zůstává stejný).