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

SQL DELETE med JOIN en anden tabel for WHERE-tilstand

På grund af problemer med låseimplementering, MySQL tillader ikke henvisning til den berørte tabel med DELETE eller UPDATE .

Du skal lave en JOIN her i stedet:

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

eller brug bare en NOT IN :

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


  1. mysql_insert_id alternativ til postgresql

  2. Dynamisk SQL til at generere kolonnenavne?

  3. Er det muligt at migrere fra Realm til Sqlite?

  4. Kan vi omfordele Oracle tools.jar?