相関副参照でSELECTしたレコードをDELETEするSQLについて。


相関副参照でSELECTしたレコードをDELETEするSQLについて。SELECTしてる間はロックしないようにする（純粋にDELETEのときだけロックする）方法はありませんか？




相関サブクエリを使用して、`SELECT` ステートメントを使用してターゲット レコードを取得します。  
一意の識別子を使用して、取得したレコードに対して `SELECT` ステートメントを再度実行します。  
たとえば、このコードは次のようになります。

[code]

    DELETE FROM テーブル名
    WHERE 識別子 IN (
        SELECT 識別子
        FROM テーブル名
        WHERE 条件
        FOR UPDATE
    );
    
    DELETE FROM users
    WHERE id IN (
        SELECT id
        FROM users
        WHERE age < 20
        FOR UPDATE
    );
    
[/code]

