"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment définir les contraintes de clés étrangères dans Gorm pour Go?

Comment définir les contraintes de clés étrangères dans Gorm pour Go?

Publié le 2025-03-23
Parcourir:348

How to Define Foreign Key Constraints in Gorm for Go?

Comment établir des contraintes de clés étrangères à l'aide de gorm

lors de la gestion des relations d'entité dans une base de données utilisant Go, il est essentiel d'établir des contraintes de clés étrangères claires. Dans cet article, nous explorerons le processus de définition de telles contraintes à l'aide de Gorm, un orm populaire pour go.

définissant les modèles

considérer l'exemple suivant Scénario, où nous avons deux modèles:

type User struct {
    ID       uint
    Email    string
    Password string
}

type UserInfo struct {
    UID       uint
    FirstName string
    LastName  string
    Phone     string
    Address   string
    User      User // Represents the foreign key relationship
}

Dans cet exemple, l'utilisateur est la table parent, et l'utilisateur est la table enfant. Le champ UID dans UserInfo sert de clé étrangère, faisant référence au champ ID dans la table utilisateur.

Clé étrangère à l'aide de Gorm

dans Gorm avant la version 2.0, il était nécessaire de créer explicitement des contraintes de clé étrangère dans le schéma de base de données. Ceci est réalisé à l'aide de la méthode AddForeignKey dans le code de migration:

db.Model(&models.UserInfo{}).AddForeignKey("u_id", "t_user(id)", "RESTRICT", "RESTRICT")

Conclusion

La définition des contraintes de clé étrangère assure l'intégrité des données et applique l'intégrité référentielle entre les tables. En comprenant et en appliquant les méthodes appropriées dans Gorm, vous pouvez gérer efficacement les relations de base de données dans vos applications GO.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3