この内容は古いバージョンです。最新バージョンを表示するには、戻るボタンを押してください。
バージョン:2
ページ更新者:atom
更新日時:2019-06-30 22:17:59

タイトル: DBの悲観ロック
SEOタイトル: 【Laravel】DBの悲観ロック

この記事の要点
  • Laravel の悲観ロック(DB レベルロック)
  • 共有ロック (SELECT ... LOCK IN SHARE MODE): ->sharedLock()
  • 占有ロック (SELECT ... FOR UPDATE): ->lockForUpdate()
  • トランザクション内で使用 (DB::transaction(...)) するのが基本

 

共有ロック(参照時にかけるロック)

DB::table('users')->where('votes', '>', 100)->sharedLock()->get();

 

占有ロック(更新時にかけるロック)

DB::table('users')->where('votes', '>', 100)->lockForUpdate()->get();