SQL의 "모호한 열 참조" 오류 해결: 'id' 열이 중복되는 경우
공통 열 이름(예: 어디에나 존재하는 "id" 열)이 있는 여러 테이블이 포함된 SELECT
쿼리를 구성할 때 두려운 "열 참조 'id'가 모호합니다." 오류가 발생할 수 있습니다. 이는 SQL이 검색하려는 테이블의 "id" 열을 알지 못하기 때문에 발생합니다.
해결책은 간단합니다. 항상 해당 테이블 별칭이나 전체 테이블 이름으로 열 이름을 한정하세요.
예를 들어 쿼리가 "id" 열을 포함하는 v_groups
(vg
별칭) 및 people2v_groups
(p2vg
별칭)를 조인하는 경우 모호한 쿼리는 다음과 같습니다.
<code class="language-sql">SELECT (id, name) -- Ambiguous! FROM v_groups vg INNER JOIN people2v_groups p2vg ON vg.id = p2vg.v_group_id WHERE p2vg.people_id = 0;</code>
"id" 열에 대한 테이블 소스를 명시적으로 지정하려면 다시 작성해야 합니다.
<code class="language-sql">SELECT (vg.id, name) -- Unambiguous! FROM v_groups vg INNER JOIN people2v_groups p2vg ON vg.id = p2vg.v_group_id WHERE p2vg.people_id = 0;</code>
vg.id
을 사용하여 v_groups
테이블에서 "id"를 원한다는 것을 명확하게 나타냅니다. 이렇게 하면 모호함이 제거되고 쿼리가 올바르게 실행됩니다.
요약: 열 이름을 공유하는 여러 테이블을 처리할 때마다 항상 열 이름 앞에 해당 테이블 별칭(또는 전체 테이블 이름)을 붙여 모호성을 방지하고 정확한 쿼리 결과를 보장하세요.
위 내용은 SQL의 '열 참조 'id'가 모호합니다.' 오류를 해결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!