모호한 SQL 열 참조 처리: "id" 열 예
SQL 쿼리를 실행하면 특히 일반적인 "id" 열을 처리할 때 종종 실망스러운 "모호한 열 참조" 오류가 발생할 수 있습니다. 이는 일반적으로 쿼리에 동일한 열 이름을 공유하는 여러 테이블이나 별칭이 포함될 때 발생합니다.
빈번한 원인은 동일한 열 이름으로 테이블을 조인하는 것입니다. 예:
<code class="language-sql">SELECT (id, name) FROM v_groups vg INNER JOIN people2v_groups p2vg ON vg.id = p2vg.v_group_id WHERE p2vg.people_id = 0;</code>
여기서 v_groups
(vg
별칭) 및 people2v_groups
(p2vg
별칭)에는 모두 "id" 열이 포함되어 있습니다. 데이터베이스가 어떤 "id"를 선택할지 결정할 수 없어 모호성 오류가 발생합니다.
해결책은 간단합니다. 테이블이나 별칭을 사용하여 열 이름을 명시적으로 한정하면 됩니다. 이 경우 v_groups
테이블에서 "id"를 선택하려면:
<code class="language-sql">SELECT (vg.id, name) FROM v_groups vg INNER JOIN people2v_groups p2vg ON vg.id = p2vg.v_group_id WHERE p2vg.people_id = 0;</code>
이러한 명확한 사양은 모호성을 제거하고 쿼리가 올바르게 실행되도록 합니다.
위 내용은 모호한 SQL 열 참조를 해결하는 방법: 'id' 열 충돌?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!