it-source

삭제 - 대상 테이블을 지정할 수 없습니다.

criticalcode 2023. 7. 25. 21:06
반응형

삭제 - 대상 테이블을 지정할 수 없습니다.

이 쿼리가 작동하지 않는 이유는 무엇입니까?

DELETE FROM recent_edits 
WHERE trackid NOT IN 
     (SELECT DISTINCT history.trackid 
     FROM history JOIN recent_edits ON history.trackid=recent_edits.trackid 
     GROUP BY recent_edits.trackid)

다음 메시지가 표시됩니다. "FROM 절에서 업데이트할 대상 테이블 "recent_edits"를 지정할 수 없습니다.

이 방법으로 시도해 보십시오.

DELETE FROM recent_edits 
WHERE trackid NOT IN 
     (select * from (SELECT DISTINCT history.trackid 
     FROM history JOIN recent_edits ON history.trackid=recent_edits.trackid 
     GROUP BY recent_edits.trackid) as t);

삭제를 위해 잠긴 테이블은 후처리할 수 없습니다.해킹을 이용하여select * from (query)Nicola 상태가 직접 액세스하는 대신 임시 테이블을 생성하기 때문입니다.

편집 - 사용하는 테이블이 중첩되어 있고 고유한 ID가 필요하므로 해당 테이블에 ID를 제공해야 합니다.모든 테이블의 ID입니다.

언급URL : https://stackoverflow.com/questions/5816840/delete-i-cant-specify-target-table

반응형