> 데이터 베이스 > MySQL 튜토리얼 > 열이 존재하는데 PostgreSQL 쿼리에서 '열이 존재하지 않습니다' 오류가 발생하는 이유는 무엇입니까?

열이 존재하는데 PostgreSQL 쿼리에서 '열이 존재하지 않습니다' 오류가 발생하는 이유는 무엇입니까?

Patricia Arquette
풀어 주다: 2025-01-20 19:51:14
원래의
713명이 탐색했습니다.

Why Does My PostgreSQL Query Throw a

PostgreSQL의 "열이 존재하지 않습니다." 오류: 대소문자 구분 문제

일반적인 PostgreSQL 문제는 열이 명확하게 정의된 경우에도 "열이 존재하지 않습니다"라는 오류입니다. 이는 대소문자 구분 문제로 인해 발생하는 경우가 많습니다. 다음 예를 고려해보세요:

<code class="language-sql">SELECT Continent
FROM network.countries
WHERE Continent IS NOT NULL
AND Continent <> ''
LIMIT 5</code>
로그인 후 복사

올바른 것처럼 보이는 이 쿼리는 다음을 반환할 수 있습니다.

<code>ERROR: column "continent" does not exist
Hint: Perhaps you meant to reference the column "countries.Continent".
Position: 8</code>
로그인 후 복사

해결책: 큰따옴표를 사용하여 정확한 열 이름 지정

수정 방법은 간단합니다. 열 이름을 큰따옴표로 묶습니다.

<code class="language-sql">SELECT "Continent"
FROM network.countries
WHERE "Continent" IS NOT NULL
AND "Continent" <> ''
LIMIT 5</code>
로그인 후 복사

"Continent"을 큰따옴표로 묶으면 PostgreSQL에 이름을 대소문자를 구분하는 리터럴 문자열로 처리하여 오해를 방지하도록 명시적으로 지시하게 됩니다.

큰따옴표가 중요한 이유

PostgreSQL은 일반적으로 대소문자를 구분하지 않고 열 이름을 처리합니다. 그러나 따옴표가 없는 열 이름은 내부적으로 소문자로 변환되는 경우가 많습니다. 열 이름에 대소문자가 혼합되어 있고(예: "Continent") 이를 따옴표 없이 참조하는 경우 PostgreSQL은 소문자 "continent" 열을 검색하여 오류가 발생할 수 있습니다. 큰따옴표는 정확한 일치를 보장하여 모호성을 해결합니다.

위 내용은 열이 존재하는데 PostgreSQL 쿼리에서 '열이 존재하지 않습니다' 오류가 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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