Прочитал этот материал и вопрос изменился:
зачем нужен commit если транзакция успешно выполнена?
разве могут быть случаи, когда все успешно и действия транзакции не применять(не делать commit)?
ldmitriy, легко, это называется rollback. Транзакция может длится и несколько секунд, и сильно больше.
Но суть не в этом. Суть в том, что коммитом ты можешь подтвердить несколько запросов и они обязательно выполнятся все или не выполнится ни одного. Не будет такого, что ты отправил два запроса, после выполнения первого в серверной вырубили свет и теперь в БД лежит кака.
Самый типичный кейс, на котором объясняются транзакции:
Вася должен Пете 500р и прямо сейчас их отдаёт. Что нам нужно сделать, чтобы отразить это в бд? У Васи забрать 500р, а Пете дать 500р. Это два запроса. Вот если ты не поместишь их в транзакцию и после первого запроса вырубят свет, то Вася отдаст 500р, а Петя их не получит. 500р улетели в никуда.