Maison > développement back-end > Golang > le corps du texte

Comment stocker un tableau d'entiers sous forme de champ unique dans une base de données PostgreSQL à l'aide de Gorm ?

Susan Sarandon
Libérer: 2024-11-04 16:54:02
original
962 Les gens l'ont consulté

How to store an array of integers as a single field in a PostgreSQL database using Gorm?

Ajout d'un tableau de nombres entiers en tant que type de données dans un modèle Gorm

Lorsque vous essayez d'enregistrer un tableau de nombres en tant que champ unique dans une base de données Postgres utilisant Gorm, les utilisateurs peuvent rencontrer une erreur indiquant un type SQL non valide. Pour résoudre ce problème, des types personnalisés de la bibliothèque sous-jacente doivent être utilisés.

L'extrait de code suivant montre comment déclarer un modèle Gorm avec un tableau d'entiers comme type de données :

<code class="go">type Game struct {
    gorm.Model                                           
    GameCode    string                                      
    GameName    string                                      
    DeckType    pq.Int64Array `gorm:"type:integer[]"` // Use custom type from pq library
    GameEndDate string    
}</code>
Copier après la connexion

Pour ajouter des enregistrements à la base de données à l'aide de ce modèle, créez un tableau d'entiers et utilisez la méthode Create :

<code class="go">dt := []int64{1, 2, 3}
                                                                                
db.Create(&amp;Game{GameCode: "xxx", GameName: "xxx", DeckType: pq.Int64Array(dt), GameEndDate: "xxx"})</code>
Copier après la connexion

En employant des types personnalisés, vous pouvez travailler efficacement avec des tableaux d'entiers comme types de données dans votre Gorm modèles lors de l'interaction avec une base de données Postgres.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!