如果代码在该点之前被中断commit,事务是否会回滚,前提是我没有明确指定rollBack?还是RollBack您需要注册所有区块catch?
try {
$dbh->beginTransaction();
$db->query($firstQuery);
$db->someMethod(); //тут вылетает исключение
//some code
$dbh->commit();
} catch (PDOException $e) {
echo 'Ошибка БД';
} catch (Exception $e) {
echo 'Упссс, ошибочка';
}
交易不会完成。
该文档回答了您的问题:
1) http://php.net/manual/ru/pdo.transactions.php
那些。在您的情况下,它将是
авто-rollBack,但您应该注意这一点:2) http://php.net/manual/ru/pdo.begintransaction.php
那些。某些查询可能会导致
авто-commit,即使失败,更改也会保留。