sql >> Database >  >> RDS >> Mysql

SQL DELETE met JOIN andere tabel voor WHERE voorwaarde

Vanwege de problemen met de implementatie van de vergrendeling, MySQL staat niet toe om naar de betreffende tabel te verwijzen met DELETE of UPDATE .

Je moet een JOIN maken hier in plaats daarvan:

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

of gebruik gewoon een NOT IN :

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


  1. Verschil tussen gelezen vastgelegd en herhaalbaar gelezen

  2. Android SQLite gesloten uitzondering

  3. Hoe een dubbele sleutelfout in T-SQL (SQL Server) te negeren

  4. Oracle SQL-ontwikkelaar en PostgreSQL