PDO::rollBack
(PHP 5 >= 5.1.0, PHP 7, PHP 8, PECL pdo >= 0.1.0)
PDO::rollBack —
Anula una transacción
Descripción
public PDO::rollBack():
bool
Si la base de datos está en modo autocommit, esta función
restaurará el modo autocommit después de la anulación de la transacción.
Algunas bases de datos, incluyendo MySQL, ejecutarán automáticamente un COMMIT
cuando se ejecute una consulta de definición de lenguaje de base de datos (DDL) como
DROP TABLE o CREATE TABLE en una transacción. Este COMMIT implícito impedirá anular
cualquier otra modificación realizada en esta transacción.
Parámetros
Esta función no tiene parámetros.
Valores devueltos
Devuelve true
en caso de éxito o false
en caso de error.
Ejemplos
Ejemplo #1 Anulación de una transacción
El siguiente ejemplo comienza una transacción y ejecuta dos consultas
que modifican la base de datos antes de anular las modificaciones. En MySQL,
sin embargo, la consulta DROP TABLE validará automáticamente la transacción,
por lo que ninguna de las modificaciones de la transacción será anulada.
<?php
/* Inicio de una transacción, desactivación del modo autocommit */
$dbh->beginTransaction();
/* Modifica el esquema de la base de datos así como los datos */
$sth = $dbh->exec("DROP TABLE fruit");
$sth = $dbh->exec("UPDATE dessert
SET name = 'hamburger'");
/* Se detecta un error y se anulan las modificaciones */
$dbh->rollBack();
/* La conexión a la base de datos vuelve al modo autocommit */
?>