#796

Riserva la merce solo se è effettivamente disponibile

Un utente ha aggiunto un articolo al carrello — il backend deve riservare tre unità in magazzino, ma solo se ci sono effettivamente scorte sufficienti. Se esegui «leggi le scorte → verifica → scrivi» come istruzioni separate, due transazioni parallele possono vedere lo stesso numero ed entrambe riservare l'ultima unità. Un singolo aggiornamento condizionato risolve il problema in modo atomico: prova ad aumentare reserved di tre per il prodotto con id 1, ma solo quando qty - reserved è almeno 3. Se nessuna riga risulta aggiornata — restituisci «non disponibile» all'utente.

Solo INSERT/UPDATE/DELETE — non serve un SELECT finale.

Il risultato della tua query apparirà qui