Reserva stock solo si realmente está disponible
Un usuario añadió un artículo a su carrito — el backend necesita reservar tres unidades en el inventario, pero solo si realmente hay stock suficiente. Si haces «leer stock → comprobar → escribir» como sentencias separadas, dos transacciones paralelas pueden ver el mismo número y ambas reservar la última unidad.
Una sola actualización condicional lo resuelve de forma atómica: intenta aumentar reserved en tres para el producto con id 1, pero solo cuando qty - reserved sea al menos 3. Si ninguna fila acaba actualizada — devuelve «sin stock» al usuario.
Solo INSERT/UPDATE/DELETE — no hace falta un SELECT al final.
Inicia sesión para ver tu historial de envíos
Iniciar sesiónInicia sesión para usar el AI Mentor
Iniciar sesión