db.Exec() 이후 Postgres의 오류 코드
db.Exec()를 사용하여 쿼리를 실행할 때 반환되는 오류는 다음을 제공할 수 있습니다. 작업 상태에 대한 귀중한 정보입니다. 실제 오류 메시지는 다를 수 있지만 Postgres 드라이버는 특정 조건에 대한 오류 코드를 검사하는 방법을 제공합니다.
오류 코드 액세스
db.Exec()에서 반환된 오류가 있는 경우 이를 *pq.Error 유형에 입력한 다음 해당 코드 필드를 사용할 수 있습니다. 예는 다음과 같습니다.
<code class="go">if err, ok := err.(*pq.Error); ok { fmt.Println("Error code:", err.Code) }</code>
"데이터베이스가 존재하지 않습니다"에 대한 오류 코드
안타깝게도 Postgres는 "데이터베이스가 존재하지 않습니다"에 대한 특정 오류 코드를 제공하지 않습니다. " 오류. 오류의 코드 필드는 "42P01"("구문 오류"용)로 설정될 가능성이 높지만 이는 보장되지 않습니다.
특정 오류 코드 확인
"데이터베이스가 존재하지 않습니다" 오류에 대한 특정 오류 코드가 없으므로 오류 메시지 문자열을 직접 수동으로 구문 분석해야 합니다. strings 패키지를 사용하여 이 작업을 효과적으로 수행할 수 있습니다:
<code class="go">if strings.Contains(err.Error(), "existence") && strings.Contains(err.Error(), "database") { // Database does not exist }</code>
추가 오류 필드
오류 코드 외에도 pq.Error 유형은 다른 필드를 제공합니다. 다음과 같은 귀중한 컨텍스트를 제공할 수 있습니다.
위 내용은 Postgres에서 pq.Error로 발생하는 \'데이터베이스가 존재하지 않습니다\' 오류를 처리하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!