PDO::rollBack — Revertir una transacción (PHP 5 >= 5.1.0, PECL pdo >= 0.1.0)
bool PDO::rollBack ( anulado )
Revertir la transacción actual iniciada por PDO::beginTransaction(). Si no hay ninguna transacción activa, se generará una PDOException.
Si la base de datos está configurada en modo de confirmación automática, esta función (método) restaurará el modo de confirmación automática después de revertir la transacción.
Algunas bases de datos, incluida MySQL, provocan automáticamente una confirmación implícita cuando hay declaraciones DLL, como eliminar o crear una tabla de datos dentro de una transacción. La confirmación implícita no podrá revertir ningún cambio dentro del alcance de esta transacción.
Devuelve VERDADERO en caso de éxito o FALSO en caso de error.
El siguiente ejemplo inicia una transacción y emite dos declaraciones que modifican la base de datos antes de revertir los cambios. Pero en MySQL, la instrucción DROP TABLE confirma automáticamente la transacción, por lo que cualquier cambio dentro de esta transacción no se revertirá.
<?php/* Iniciar una transacción y desactivar la confirmación automática*/$dbh->beginTransaction();/* Cambiar el esquema y los datos de la base de datos*/$sth = $dbh->exec("DROP TABLE fruit"); $sth = $dbh->exec("ACTUALIZAR postre SET nombre = 'hamburguesa'");/* Reconocer errores y revertir cambios*/$dbh->rollBack();/* En este punto, la conexión de la base de datos vuelve al modo de confirmación automática*/?>