При запуске PDO::beginTransaction
, если по какой-либо причине сценарий заканчивается, и эти изменения не были явно совершены (по ошибке, за исключением, exit
/die
и т.д.), то сделка будет откат.Что приходит первым, PDO :: отмотки или __destruct
Аналогично, когда скрипт заканчивается, любые __destruct
методы, присутствующие в любых объектах, также будут выполнены.
Итак, мой вопрос в том, заканчивается ли сценарий, и есть ли выдающаяся транзакция базы данных, которая сначала вызывается, PDO::rollBack
или __destruct
?
Было неожиданно сложно использовать google, чтобы найти явный оператор, говорящий о том, что если PHP выходит во время выполнения транзакции, изменения отбрасываются так же, как если бы был вызван вызов $ dbh-> rollback(). Я предполагаю, что это потому, что я искал по отношению к PHP и PDO, в то время как на самом деле это свойство базы данных, когда соединение, на котором была запущена транзакция, закрыто! – sootsnoot