При использовании транзакций основная идея состоит в том, что на самом деле ничто не будет постоянно записываться в базу данных до тех пор, пока не будет вызван commit
.
Пара ситуаций:
- Если вы:
- начать транзакцию
- выполнить несколько запросов
- Откат
- Затем запросы откатываются; что означает, что их результат не записывается в базу данных.
- Если вы:
- начать транзакцию
- выполнить несколько запросов
- отключить (что происходит, если ваш PHP-скрипт заканчивается - например, из-за фатальной ошибки или
die
)
- Тогда запросы не фиксируются - это означает, что они не записываются в базу данных; это означает, что это так же, как если бы был
rollback
.
Для простоты: начиная с begin transaction
, в базу данных ничего не записывается, пока вы не отправите commit
. Если нет фиксации ... Ничего не пишется постоянно, и когда ваш PHP-скрипт отключается от БД, БД «отменяет» то, что этот PHP-скрипт не зафиксировал.
Конечно, это то же самое, если вы используете для подключения к вашей базе данных что-то еще, кроме PHP - например, клиент MySQL командной строки, например.