PDO :: rollBack
PDO :: rollBack - para deshacer una transacción (PHP 5> = 5.1.0, PECL pdo> = 0.1.0)
explicación
gramática
bool PDO::rollBack ( void )
Retrotraer la transacción actual por la DOP :: beginTransaction () iniciados. Si no hay ninguna transacción activa, se lanzará una excepción PDOException.
Si la base de datos está configurado en modo de confirmación automática, esta función (método) será restaurado después de la transacción se cancela el modo de confirmación automática.
Algunas bases de datos incluyendo MySQL, cuando una operación similar a eliminar o crear tablas de datos, etc. comunicado DLL, que dará lugar automáticamente a una implícita cometen. Implícitamente presentada no será capaz de deshacer los cambios dentro del alcance de esta transacción.
Valor de retorno
exitoso retorno es TRUE, o en caso de error devuelve falso.
Ejemplos
Deshacer una transacción
El siguiente ejemplo revierte los cambios antes del comienzo de una transacción y emite dos comandos que modifiquen la base de datos. Sin embargo, en MySQL, TABLE DROP confirma automáticamente la transacción, por lo que cualquier cambio en esta transacción no se deshace.
<?php /* 开始一个事务,关闭自动提交 */ $dbh->beginTransaction(); /* 更改数据库架构和数据 */ $sth = $dbh->exec("DROP TABLE fruit"); $sth = $dbh->exec("UPDATE dessert SET name = 'hamburger'"); /* 识别错误且回滚更改 */ $dbh->rollBack(); /* 此时数据库连接恢复到自动提交模式 */ ?>