Varaa varastoa vain, jos sitä on todella saatavilla
Käyttäjä lisäsi tuotteen ostoskoriinsa — taustajärjestelmän on varattava varastosta kolme kappaletta, mutta vain jos varastoa on todella riittävästi. Jos teet «lue saldo → tarkista → kirjoita» erillisinä lauseina, kaksi rinnakkaista transaktiota voivat nähdä saman luvun ja varata molemmat viimeisen kappaleen.
Yksittäinen ehdollinen päivitys ratkaisee tämän atomisesti: yritä kasvattaa reserved-arvoa kolmella tuotteelle, jonka id on 1, mutta vain kun qty - reserved on vähintään 3. Jos yhtään riviä ei lopulta päivity — palauta käyttäjälle «loppu varastosta».
Pelkkä INSERT/UPDATE/DELETE — lopussa ei tarvita SELECT-lausetta.
Kirjaudu sisään nähdäksesi palautushistorian
Kirjaudu sisäänKirjaudu sisään käyttääksesi tekoälymentoria
Kirjaudu sisään