프로그래밍/DBMS
Maria - DELETE문은 자기 테이블을 참조 못한다
Heidong
2023. 8. 7. 01:50
반응형
에러 :
DELETE FROM table
WHERE userid IN (
SELECT userid FROM table group by tag_name, userid HAVING COUNT(username) > 1
)
;
원인 :
table 이란 테이블에서 중복 컬럼들을 찾아서 제거하는 쿼리문을 작성 했는데
문법에 틀린 부분이 없는데 에러가 발생
알고보니 DELETE를 하려는 테이블에서 WHERE 조건절에 DELETE하려는 테이블을 참조를 못한다는것.
해결:
DELETE FROM table
WHERE userid IN (
SELECT temp.userid FROM (
SELECT userid FROM table group by tag_name, userid HAVING COUNT(username) > 1
) AS temp
)
;
서브쿼리로 감싸서 해당 테이블을 다른 테이블로 명시하면 된다.
반응형