#796

Reservera lager bara om det faktiskt finns tillgängligt

En användare lade en vara i sin varukorg — backend behöver reservera tre enheter i lagret, men bara om det faktiskt finns tillräckligt i lager. Om du gör «läs lager → kontrollera → skriv» som separata satser kan två parallella transaktioner se samma antal och båda reservera den sista enheten. En enda villkorlig uppdatering löser detta atomärt: försök öka reserved med tre för produkten med id 1, men endast när qty - reserved är minst 3. Om ingen rad blev uppdaterad — returnera «slut i lager» till användaren.

Endast INSERT/UPDATE/DELETE — ingen avslutande SELECT behövs.

Ditt frågeresultat visas här