>  기사  >  백엔드 개발  >  Gorm은 사용자 정의 문자열 유형에 대해 스캐너 오류를 반환합니다.

Gorm은 사용자 정의 문자열 유형에 대해 스캐너 오류를 반환합니다.

王林
王林앞으로
2024-02-11 18:21:211094검색

Gorm 在自定义字符串类型上返回扫描仪错误

php 편집기 바나나 소개: Gorm에서 사용자 정의 문자열 유형에 대해 스캔 작업을 수행하려고 하면 오류가 발생할 수 있습니다. 이 문제로 인해 스캐너가 문자열을 올바르게 구문 분석하지 못하여 프로그램 오류가 발생할 수 있습니다. 이는 Gorm이 기본적으로 `Scan` 메서드를 사용하여 문자열 유형 필드를 검색하지만 사용자 정의 문자열 유형의 경우 `Scan` 메서드가 이를 올바르게 처리하지 못할 수 있기 때문입니다. 이 문제에 대한 해결책은 `Value` 메서드를 사용하여 문자열을 수동으로 구문 분석하여 프로그램이 올바르게 실행되는지 확인하는 것입니다. 이렇게 하면 Gorm을 사용할 때 스캐너 오류 문제가 발생하는 것을 피할 수 있습니다.

질문 내용

다음 항목을 작성했습니다.

으아악

데이터베이스에 수동으로 행을 생성하고 카테고리 배열 유형을 카테고리1과 카테고리2로 채웠습니다.

하지만 데이터를 읽을 때 다음 오류가 발생합니다.

으아악

예시 값 방법:

type datacategory string

const (
    datacategory1 datacategory = "category1"
    datacategory2 datacategory = "category2"
)

type data struct {
    name            string         `json:"name"`
    categories      []datacategory `json:"category" gorm:"type:text[]"`
}

해결 방법

다음 예에서는 postgresql을 RDBMS로 사용하고 datacategory 값에 쉼표나 이스케이프 처리되지 않은 작은따옴표가 포함되어 있지 않다고 가정합니다.

으아악 으아악 으아악

또는 반환 유형이 value() (driver.value, error) 返回 <code>[]byte 不起作用,例如它会导致 “错误:格式错误的数组文字:8778596cdf2dd446fb8c439c52c90b59 (sqlstate 22p02)”,那么您可以尝试使用 string인 경우.

Example from @kozhioyrin

으아악

위 내용은 Gorm은 사용자 정의 문자열 유형에 대해 스캐너 오류를 반환합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 stackoverflow.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제