> 백엔드 개발 > PHP 튜토리얼 > PostgreSQL '관계가 존재하지 않습니다': 쿼리가 실패하는 이유는 무엇이며 어떻게 해결할 수 있습니까?

PostgreSQL '관계가 존재하지 않습니다': 쿼리가 실패하는 이유는 무엇이며 어떻게 해결할 수 있습니까?

Linda Hamilton
풀어 주다: 2024-12-16 20:46:17
원래의
795명이 탐색했습니다.

PostgreSQL

PostgreSQL 쿼리 실패: "관계가 존재하지 않습니다"

SQL 쿼리를 실행하려고 하면 "관계 ' 오류가 발생할 수 있습니다. 관계_이름'이 존재하지 않습니다." 이 오류는 PostgreSQL이 현재 데이터베이스에서 지정된 관계(일반적으로 테이블 또는 뷰)를 찾을 수 없음을 나타냅니다.

문제 원인

이 오류는 잘못된 대소문자를 사용하여 관계 이름을 참조하고 있습니다. 관계 이름에 "SF_Bands"와 같이 대소문자가 혼합되어 있고 쿼리에서 소문자 "sf_bands"를 사용하는 경우 쿼리가 실패합니다. PostgreSQL은 식별자 처리 시 대소문자를 구분하므로 대소문자 혼합을 유지해야 합니다.

해결책 1: 식별자에 큰따옴표 사용

관계를 올바르게 참조하려면 대/소문자가 혼합된 경우 큰따옴표(")를 사용하여 식별자를 구분합니다. 예:

SELECT * FROM "SF_Bands" LIMIT 10;
로그인 후 복사

솔루션 2: 스키마 검색 경로 설정

관계가 기본이 아닌 스키마에 속하는 경우 다음을 포함하도록 스키마 검색 경로를 조정할 수 있습니다. 관련 스키마. 검색 경로는 관계 이름을 확인할 때 PostgreSQL이 스키마를 검색하는 순서를 정의합니다.

스키마를 추가하려면 검색 경로를 지정하려면 다음 명령을 실행하세요.

SET search_path TO <schema_name>,public;
로그인 후 복사

이 경우 을 관계가 포함된 스키마 이름으로 바꾸세요.

"showfinder"라는 스키마에서 "sf_bands"라는 관계의 경우 검색 경로를 조정하고 쿼리를 다음과 같이 수정하세요.

SET search_path TO showfinder,public;

SELECT * FROM sf_bands LIMIT 10;
로그인 후 복사

위 내용은 PostgreSQL '관계가 존재하지 않습니다': 쿼리가 실패하는 이유는 무엇이며 어떻게 해결할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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