Transacciones En Mysql
Una transacción es un conjunto de operaciones SQL que se ejecutan como un único bloque, es decir, si falla una operación fallan todas. Es una unidad única de trabajo. Si una transaccióntiene éxito, todas las modificaciones de los datos realizadas durante la transacción se confirman y se convierten en una parte permanente de la base de datos. Si una transacción encuentra errores ydebe cancelarse o revertirse, se borran todas las modificaciones de los datos.
Ejemplo:
Para iniciar una transacción en MySQL se utiliza “BEGIN” o “START TRANSACION”. Se utilizara una base de datosya creada previamente y se realizara la inserción, eliminación y actualización de datos de una de sus tablas.
mysql> use sub;
Database changed
mysql> show tables;
+---------------+
|Tables_in_sub |
+---------------+
| empleados |
| oficina |
+---------------+
2 rows in set (0.12 sec)
mysql> select*from empleados;
+--------+---------+--------------+
| numemp |nombre | oficina |
+--------+---------+--------------+
| 0001A | Abraham | Contabilidad |
| 0001B | Juan | Recursos |
+--------+---------+--------------+
2 rows in set (0.09 sec)mysql> begin;
Query OK, 0 rows affected (0.06 sec)
mysql> insert into empleados
-> values('0003B', 'Vicky', 'Ventas');
Query OK, 1 row affected (0.08 sec)
mysql>select*from empleados;
+--------+---------+--------------+
| numemp | nombre | oficina |
+--------+---------+--------------+
| 0001A | Abraham | Contabilidad |
| 0001B | Juan | Recursos |
|0003B | Vicky | Ventas |
+--------+---------+--------------+
3 rows in set (0.00 sec)
Si en este momento se utiliza “ROLLBACK” la transacción no será completada, y los cambiosrealizados sobre la tabla no tendrán efecto.
mysql> rollback;
Query OK, 0 rows affected (0.00 sec)
mysql> select*from empleados;
+--------+---------+--------------+
| numemp | nombre |...
Regístrate para leer el documento completo.