Mysql
 sql >> база данни >  >> RDS >> Mysql

SQL DELETE с JOIN друга таблица за условие WHERE

Поради проблеми с внедряването на заключването, 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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да изведем грешка в MySQL функция

  2. Използване на обратни отметки около имената на полета

  3. Не мога да се свържа с MySQL от Java:NullPointerException в логиката на свързване на драйвера на MySQL

  4. Как да използвате динамично множество бази данни за един модел в CakePHP

  5. MySQL твърде дълга настройка за съкращаване/грешка на varchar