ほぼ同時に注文が入ったとして、
Aさん 10個
Bさん 20個
合計30個在庫から引かれないといけないところ、
AさんのアップデートがBさんのアップデートによって上書きされて、計20個しか在庫から引かれていないという状態になること
select文に、
と末尾につけることで、行ロックがかかり
Aさんの処理を行ってから
Bさんの処理を順に行うようになる
結果的にデータが正常に更新される
このように、同時にデータベースアクセスされるケースが考えられる際(決済サービスとか)にはデータベースのトランザクション管理を意識して実装していく必要がある。(排他制御)