Mysql
 sql >> Database >  >> RDS >> Mysql

SQL DELETE con JOIN un'altra tabella per la condizione WHERE

A causa dei problemi di implementazione del blocco, MySQL non consente di fare riferimento alla tabella interessata con DELETE o UPDATE .

Devi fare un JOIN qui invece:

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

o semplicemente usa un NOT IN :

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