#796

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.

Aquí aparecerá el resultado de tu consulta