FOR UPDATE句とは?
FOR UPDATE句とは、SELECT文に付けて、読み取った行に更新用のロックを明示的に掛ける指定。「読んで判断してから更新する」処理で、判断の根拠になった行を他者に書き換えられないようにする。多版同時実行制御の環境で整合性を担保する主要な手段。
ふぉーあっぷでーとく
FOR UPDATE句の意味
SELECT文に付けて、読み取った行に更新用のロックを明示的に掛ける指定。「読んで判断してから更新する」処理で、判断の根拠になった行を他者に書き換えられないようにする。多版同時実行制御の環境で整合性を担保する主要な手段。
FOR UPDATE句の具体例
在庫を読んで残数を確認し、足りれば引き当てる処理では SELECT 在庫数 FROM 在庫 WHERE 商品ID=? FOR UPDATE とする。これがないと、2つの処理が同じ残数を読んで両方引き当て、在庫が負になる。
FOR UPDATE句は試験でどう引っ掛けられる?
掛ける範囲を広く取るとロック待ちが増え、順序がばらつくとデッドロックを招く。またNOWAITやSKIP LOCKEDを付けない限り既定では待ち続けるため、応答時間の上限を設ける設計が必要になる。
FOR UPDATE句と関連する用語
最終更新:2026-08-25/解説は資格暗記が独自に作成しています。 過去問の出典は各問題に記載のとおりです。