ここから: https://stackoverflow.com/a/27868682/10894456
SELECT ... FOR UPDATE は、トランザクションが完了する (コミットまたはロールバックされる) まで、書き込み (排他的) ロックでレコードをロックします。
レコードを選択し、更新するまで変更されないようにするには、トランザクションを開始し、SELECT ... FOR UPDATE を使用してレコードを選択し、簡単な処理を行い、レコードを更新してから、トランザクションをコミット (またはロールバック) します。 .
ここで https://stackoverflow.com/a/5411366/10894456
トランザクション外の FOR UPDATE は無意味であることに注意してください
したがって、INSERT FOR UPDATE はトランザクションなしでは意味がなく、トランザクションはそれ自体でロックを使用するため、INSERT FOR UPDATE のユースケースは何ですか? 私の唯一の推測: SELECT ... FOR UPDATE は、トランザクションの分離レベルが低い場合 (read_uncommit など) にのみ意味がありますが、よくわかりません。助けてください