Al terminar esta lección podrás
- Delimitar una transacción.
- Elegir COMMIT o ROLLBACK.
- Comprender los límites de la protección.
Antes de empezar: INSERT, UPDATE y DELETE. Explica en una frase qué recuerdas antes de continuar.
La idea, sin código
Una transacción delimita una unidad de trabajo. COMMIT confirma los cambios y ROLLBACK deshace los que todavía no se han confirmado. El comportamiento exacto depende del motor y del modo autocommit.
Pregunta guía: ¿qué representa cada fila antes y después de aplicar este concepto?
Sintaxis mínima
BEGIN;
-- cambios
COMMIT; -- o ROLLBACK;Primer ejemplo guiado
| id | cliente_id | fecha | total | estado |
|---|---|---|---|---|
| 101 | 1 | 2026-07-02 | 65 | enviado |
| 102 | 2 | 2026-07-04 | 189 | pendiente |
| 103 | 1 | 2026-07-09 | 44 | enviado |
| 104 | 3 | 2026-07-11 | 899 | cancelado |
| 105 | 5 | 2026-07-15 | 118 | enviado |
Analiza la consulta antes de comprobar el resultado:
BEGIN;
UPDATE pedidos SET estado = 'enviado' WHERE id = 102;
SELECT id, estado FROM pedidos WHERE id = 102;
ROLLBACK;Qué cambiaría: esta sentencia actúa sobre la estructura o los datos. En el curso se presenta para analizarla; ejecútala únicamente en una base de práctica.
Qué ocurre paso a paso
- BEGIN inicia la unidad de trabajo.
- El SELECT permite revisar el cambio.
- ROLLBACK devuelve la transacción al estado anterior.
Error frecuente
Consulta o razonamiento problemático
UPDATE pedidos SET estado = 'enviado'; COMMIT;Una transacción no corrige un WHERE ausente. Primero debes validar el alcance del cambio.
Práctica guiada
Resuelve una sola dificultad cada vez
Escribe una transacción que cambie el pedido 102 y permita revisar antes de confirmar.
Solución razonada
BEGIN; UPDATE pedidos SET estado = 'enviado' WHERE id = 102; SELECT * FROM pedidos WHERE id = 102; COMMIT;La transacción aporta un punto de decisión, pero no sustituye una condición correcta.
Comprueba: identifica qué parte recupera, filtra, transforma, relaciona o modifica los datos.
Ahora sin guía
Transfiere lo aprendido
Explica cuándo elegirías ROLLBACK durante una actualización.
Comparar con una solución posible
Cuando el SELECT de comprobación muestre filas incorrectas, una cantidad inesperada o cualquier resultado que no deba hacerse permanente.Puede existir otra solución válida. Comprueba que produce el resultado pedido y que puedes explicar cada cláusula.
Resumen para llevarte
- Las transacciones agrupan cambios.
- COMMIT confirma y ROLLBACK deshace cambios pendientes.
- Valida siempre el WHERE aunque exista una transacción.
Siguiente paso: Continúa con Crear tablas y elegir tipos de datos.