Gorm 모델의 데이터 유형으로 정수 배열 추가
소개:
작업할 때 Gorm을 사용하는 PostgreSQL에서는 정수 배열을 모델의 데이터 유형으로 추가하는 것이 어려울 수 있습니다. 이 문서에서는 이러한 작업을 시도할 때 발생하는 일반적인 문제를 다룹니다.
문제:
Gorm 모델은 단일 PostgreSQL 필드에 숫자 배열을 저장하려고 할 때 종종 오류가 발생합니다. 일반적으로 오류는 "패닉: Postgres에 대한 잘못된 SQL 유형(슬라이스)"입니다.
문제 해결:
이 문제는 슬라이스를 데이터 유형으로 사용할 때 발생합니다. 해결 방법에는 기본 PostgreSQL 드라이버 라이브러리의 사용자 정의 유형을 활용하는 것이 포함됩니다.
해결 방법:
제공된 모델에서:
<code class="go">type Game struct { gorm.Model GameCode string GameName string DeckType pq.Int64Array GameEndDate string }</code>
DeckType []int64를 다음으로 교체하세요. DeckType pq.Int64Array, 여기서 pq는 import pq "github.com/lib/pq"로 가져옵니다.
GORM 태그:
사용자 정의 유형을 데이터베이스 열에 올바르게 매핑하려면 , gorm 태그를 추가하여 열 유형을 지정합니다.
<code class="go">DeckType pq.Int64Array `gorm:"type:integer[]"`</code>
이 태그는 DeckType 필드가 PostgreSQL 정수 배열에 매핑되어야 함을 나타냅니다.
삽입 예:
모델을 수정하고 GORM 태그를 추가한 후 데이터베이스에 정수 배열을 삽입할 수 있습니다.
<code class="go">dt := []int64{1, 2, 3} db.Create(&Game{GameCode: "xxx", GameName: "xxx", DeckType: pq.Int64Array(dt), GameEndDate: "xxx"})</code>
사용자 정의 유형과 GORM 태그를 사용하면 정수 배열을 성공적으로 저장할 수 있습니다. PostgreSQL 필드의 정수.
위 내용은 PostgreSQL을 사용하여 Gorm 모델에 정수 배열을 저장하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!