(Просто примечание, потому что если это заблуждение, то оно опасно: роллбэкается не коммит, а транзакция, т. е. все команды после begin transaction или после последнего commit/rollback, исключая команды которые транзакционно не изолируются вроде модификаций схемы в MySQL; если же сделан коммит, то роллбэкать уже поздно)
(Исключение: двухфазный коммит, но это редко используемая штука)