> 데이터 베이스 > MySQL 튜토리얼 > SQL의 '열 참조 'id'가 모호합니다.' 오류를 해결하는 방법은 무엇입니까?

SQL의 '열 참조 'id'가 모호합니다.' 오류를 해결하는 방법은 무엇입니까?

Mary-Kate Olsen
풀어 주다: 2025-01-18 07:36:08
원래의
820명이 탐색했습니다.

How to Resolve SQL's

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿