Transacciones · Microlección

COMMIT

Confirma los cambios pendientes de la transacción actual para que dejen de poder deshacerse con un ROLLBACK normal.

Lectura: 8–12 minEjemplo paso a pasoPráctica con pistas

Qué significa

COMMIT marca como aceptada la unidad de trabajo actual. Después de confirmarla, los cambios de esa transacción pasan a formar parte del estado persistente de la base de datos y ya no pueden revertirse con un ROLLBACK de esa misma transacción.

Qué problema resuelve

Se utiliza cuando varias operaciones relacionadas deben tratarse como un único cambio. Primero se inicia la transacción, después se ejecutan y revisan las sentencias, y solo cuando el resultado es correcto se confirma. COMMIT no comprueba que la lógica sea buena: confirma exactamente lo que hayas ejecutado.

Apréndelo en contexto: este término se relaciona directamente con Transacciones, COMMIT y ROLLBACK.

Sintaxis básica

Estructura
BEGIN;
-- una o varias operaciones
COMMIT;

Ejemplo guiado

Estado inicial: pedido que todavía está pendiente
idestadototal
102pendiente189

Lee primero la consulta e intenta predecir el resultado:

SQL
BEGIN;

UPDATE pedidos
SET estado = 'enviado'
WHERE id = 102;

SELECT id, estado, total
FROM pedidos
WHERE id = 102;

COMMIT;
Estado después de confirmar
idestadototal
102enviado189

Qué ocurre paso a paso

  1. BEGIN abre una transacción explícita.
  2. UPDATE cambia únicamente el pedido 102 porque incluye un WHERE específico.
  3. El SELECT permite revisar el dato antes de hacerlo permanente.
  4. COMMIT confirma los cambios pendientes. Si la revisión fuera incorrecta, debería utilizarse ROLLBACK en lugar de confirmar.

Error frecuente

Pensar que COMMIT convierte una consulta peligrosa en segura

Consulta problemática
BEGIN;
UPDATE pedidos SET estado = 'enviado';
COMMIT;

La transacción no corrige la ausencia de WHERE. Esta secuencia confirma el cambio sobre todas las filas. La seguridad procede de revisar el alcance, comprobar el número de filas y confirmar solo cuando el resultado coincide con la intención.

Mini práctica

Básica · apoyo graduado

Aplica el concepto

Escribe el orden de las cuatro acciones necesarias para cambiar el pedido 104 a pendiente, revisar el resultado y confirmarlo.

Compatibilidad y matices

La idea de confirmar una transacción es común, pero la forma de iniciarla y el comportamiento de autocommit varían. PostgreSQL acepta BEGIN y COMMIT. En MySQL, determinadas sentencias de definición pueden provocar commits implícitos, por lo que no debe suponerse que cualquier operación puede revertirse del mismo modo. Revisa siempre el motor y el tipo de tabla utilizados.

Recuerda

  • Confirma los cambios pendientes de la transacción actual para que dejen de poder deshacerse con un ROLLBACK normal.
  • Comprueba siempre los datos de entrada y el resultado esperado.
  • Cuando el comportamiento dependa del motor, consulta su documentación oficial.

Conceptos relacionados

Fuentes técnicas consultadas

Estas fuentes se utilizaron para comprobar la definición y los matices técnicos. El contenido de esta página está redactado de forma original para el aprendizaje.