Tilbageføringer bør altid håndteres af klientapplikationen, ikke DB. Klienten udfører muligvis mange forskellige operationer som en enkelt "arbejdsenhed", og derfor bør klienten have kontrol over, hvornår dette arbejde er overført til databasen eller rullet tilbage.
Referencer
Du kan henvise til denne nyttigt link
fra Tom Kyte, som føler så stærkt omkring dette problem, at han endda foreslår at fjerne commit/rollback fra PL/SQL (Oracles proceduresprog; jeg ved, at din DB er mysql, men konceptet forbliver det samme).