Készlet lefoglalása csak akkor, ha valóban elérhető
Egy felhasználó kosárba tett egy terméket — a backendnek három egységet kell lefoglalnia a készletből, de csak akkor, ha valóban van elegendő készlet. Ha a «készlet olvasása → ellenőrzés → írás» lépéseket külön utasításokként hajtod végre, két párhuzamos tranzakció ugyanazt a számot láthatja, és mindkettő lefoglalhatja az utolsó egységet.
Egyetlen feltételes frissítés ezt atomi módon oldja meg: próbáld meg hárommal növelni a reserved értékét az 1 azonosítójú terméknél, de csak akkor, ha a qty - reserved legalább 3. Ha végül egyetlen sor sem frissül — térj vissza a «nincs készleten» üzenettel a felhasználónak.
Csak INSERT/UPDATE/DELETE — nincs szükség záró SELECT-re.
Jelentkezz be a beküldési előzmények megtekintéséhez
BejelentkezésJelentkezz be az MI-mentor használatához
Bejelentkezés