首頁 > 後端開發 > Golang > 如何使用 PostgreSQL 在 Gorm 模型中儲存整數陣列?

如何使用 PostgreSQL 在 Gorm 模型中儲存整數陣列?

DDD
發布: 2024-11-05 14:49:02
原創
231 人瀏覽過

How to Store an Array of Integers in a Gorm Model Using PostgreSQL?

在Gorm 模型中加入整數數組作為資料類型

簡介:

簡介:工作時對於使用Go>工作時對於使用Go>工作時對於使用Go>工作時對於使用Go>工作時對於使用Go>工作時對於使用Go>的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 導入為importpq pq "github.com/lib/pq"。

<code class="go">DeckType    pq.Int64Array `gorm:"type:integer[]"`</code>
登入後複製
GORM 標籤:

將自訂類型正確地對應到資料庫列,並新增gorm 標籤來指定欄位類型:

此標籤表示DeckType 欄位應映射到PostgreSQL 整數數組。

<code class="go">dt := []int64{1, 2, 3}

db.Create(&Game{GameCode: "xxx", GameName: "xxx", DeckType: pq.Int64Array(dt), GameEndDate: "xxx"})</code>
登入後複製
插入範例:

修改模型並新增GORM標籤後,您可以將整數陣列插入資料庫中:透過使用自訂類型和GORM標籤,您可以成功保存一個整數陣列PostgreSQL 欄位中的整數。

以上是如何使用 PostgreSQL 在 Gorm 模型中儲存整數陣列?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板