sql >> データベース >  >> RDS >> Mysql

WHERE条件の別のテーブルをJOINで使用したSQLDELETE

    ロックの実装の問題により、MySQL 影響を受けるテーブルをDELETEで参照することはできません またはUPDATE

    JOINを作成する必要があります 代わりにここに:

    DELETE  gc.*
    FROM    guide_category AS gc 
    LEFT JOIN
            guide AS g 
    ON      g.id_guide = gc.id_guide
    WHERE   g.title IS NULL
    

    または、NOT INを使用します :

    DELETE  
    FROM    guide_category AS gc 
    WHERE   id_guide NOT IN
            (
            SELECT  id_guide
            FROM    guide
            )
    


    1. OracleでTO_CHAR()を使用して10進数を16進数に変換する方法

    2. SQL Server(T-SQL)でサポートされているタイムゾーンのリストを取得する

    3. Oracleで制約の名前を見つける方法

    4. MySQL:ALTER IGNORE TABLE ADD UNIQUE、何が切り捨てられますか?