Tengo un simple intento de captura que no funciona como yo esperaría. Este es mi primer intento en el uso de transacciones con DOP:Problemas de transacción PHP PDO
try
{
$dbo = Db::init();
$dbo->beginTransaction();
$dbo->exec("TRUNCATE TABLE {$this->table}");
$dbo->exec($insert);
$dbo->commit();
}
catch(Exception $e)
{
$dbo->rollBack();
echo 'Failed to sync ' . $this->table;
}
El problema es, si el $dbo->exec($insert);
falla, el $dbo->exec("TRUNCATE TABLE {$this->table}");
no consigue deshacerse. ¿Algunas ideas?
¿Qué es '$ insert'? – tplaner
Una cadena (que está funcionando). Pero si coloqué intencionadamente un error de sintaxis para que arroje una excepción, cuando se retrotrae, no se revierte antes de que pase la eliminación de la tabla. – grep