PostgreSQL의 "열이 존재하지 않는다"오류 : 케이스 감광 문제
일반적인 PostgreSQL 두통은 열이 명확하게 정의 된 경우에도 "열이 존재하지 않는"오류입니다. 이것은 종종 사례 감수성 문제에서 비롯됩니다. 이 예를 고려하십시오 :
SELECT Continent
FROM network.countries
WHERE Continent IS NOT NULL
AND Continent ''
LIMIT 5
이 겉보기에 올바른 쿼리가 돌아올 수 있습니다 :
ERROR: column "continent" does not exist
Hint: Perhaps you meant to reference the column "countries.Continent".
Position: 8
솔루션 : 이중 인용문으로 정확한 열 이름
수정 사항은 간단합니다. 열 이름을 이중 인용문으로 동봉합니다.
SELECT "Continent"
FROM network.countries
WHERE "Continent" IS NOT NULL
AND "Continent" ''
LIMIT 5
"Contenent"
를 두 배로 인용하여 PostgreSQL을 명시 적으로 알려주는 경우 이름을 대사하는 문자 문자열로 취급하여 잘못 해석을 방지합니다.
이중 인용문이 중요한 이유
postgresql은 일반적으로 열 이름을 대변인으로 처리합니다. 그러나 인용되지 않은 열 이름은 종종 내부적으로 소문자로 변환됩니다. 열 이름이 혼합 된 케이스 (예 : "Contenent")가 있고 인용문없이 참조하면 PostgreSQL이 소문자 "대륙"열을 검색하여 오류로 이어질 수 있습니다. 이중 따옴표는 정확한 일치를 보장하여 모호성을 해결합니다.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3