Отменянето трябва винаги да се обработва от клиентското приложение, ане БД. Клиентът може да изпълнява много различни операции като единична „единица работа“, следователно клиентът трябва да има контрол върху това кога тази работа се поема в базата данни или се връща обратно.
Препратки
Можете да се обърнете към този полезна връзка
от Том Кайт, който се отнася толкова силно към този проблем, че дори предлага премахване на commit/rollback от PL/SQL (процедурния език на Oracle; знам, че вашата DB е mysql, но концепцията остава същата).