СХ
- id; // unique
- sku // not unique
- avaiable // true|false
- reserved // true|false
- project_id // not unique
Может быть много строк с одинаковыми sku, project_id.
Когда хотим зарезервировать товар для нужного project_id, делает SELECT FOR UPDATE с условием по available = 1, project_id = XXX и reserved = 0. Апдэйтим reserved.