Резервирай стока само ако реално е налична
Потребител добави артикул в количката си — бекендът трябва да резервира три бройки в наличността, но само ако реално има достатъчно стока. Ако направиш «прочети наличност → провери → запиши» като отделни команди, две паралелни транзакции могат да видят едно и също число и двете да резервират последната бройка.
Една условна команда за обновяване решава това атомарно: опитай да увеличиш reserved с три за продукта с идентификатор 1, но само когато qty - reserved е поне 3. Ако накрая нито един ред не е обновен — върни «няма в наличност» на потребителя.
Само INSERT/UPDATE/DELETE — без нужда от завършващ SELECT.
Влез, за да видиш историята на решенията
ВходВлез, за да използваш ИИ ментора
Вход