ワイズリマインダー

テーブル結合時のFOR UPDATE

複数のテーブルを結合し、片方のテーブルだけにFOR UPDATEをつかいたい場合、
テーブルを結合(JOIN)するのではなく、サブクエリを利用する

SELECT `lockTable` . `no`
  FROM `lockTable`
 WHERE EXISTS(SELECT `unlockTable` . `no`
                FROM `unlockTable`
               WHERE `unlockTable` . `lockTableNo` = `lockTable` . `no`
                 AND `unlockTable` . `hoge` = 'true'
       )
   FOR UPDATE
;

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

検索

最近のコメント

最近の投稿

タグ

フィード配信

アーカイブ

外部リンク