Rollback harus selalu ditangani oleh aplikasi klien, bukan DB-nya. Klien mungkin melakukan banyak operasi berbeda sebagai "unit kerja" tunggal, oleh karena itu, klien harus memiliki kendali atas kapan pekerjaan tersebut dikomit ke database atau dibatalkan.
Referensi
Anda dapat merujuk ke tautan bermanfaat
dari Tom Kyte, yang sangat merasakan masalah ini sehingga dia bahkan menyarankan untuk menghapus commit/rollback dari PL/SQL (bahasa prosedural Oracle; Saya tahu DB Anda adalah mysql, tetapi konsepnya tetap sama).