1
에서 참조하는 테이블을 업데이트합니다. 스키마를 제어 할 수없는 불완전한 데이터베이스를 수정하려고하는데 누락 된 항목을 찾아서 삽입해야합니다.하위 쿼리 결과를 사용하여 하위 쿼리
이것은 내가에 도착했습니다 구문입니다
INSERT INTO
downloads (product_id, filename)
VALUES
(
products_id = (SELECT id
FROM products
WHERE id NOT IN
(SELECT product_id
FROM downloads
)
),
filename = 'default.zip'
)
하위 쿼리 혼자 잘 작동하지만 위의 난이 관련된 StackOverflow의 질문의 많은 검토 한
#1093 - You can't specify target table 'download' for update in FROM clause
오류가 발생합니다 오류 (like this) 및 "creates an implicit temporary table, so it doesn't count as the same table you're updating"하위 쿼리를 중첩 할 수있는 방법이 있지만 그 적응할 수없는 것을 수집합니다.
내 접근 방식이 비효율적이라면 괜찮습니다. 제 문법에 가깝지만 어떤 솔루션이 도움이 될지 궁금합니다. 할
매력처럼 작동했습니다. 'IS NULL '의 의미에 대한 이해가 부족하여 중첩 된 서브 쿼리 솔루션으로 이어진다. –