Maison  >  Article  >  développement back-end  >  Comment créer une relation de clé étrangère avec GORM dans Go ?

Comment créer une relation de clé étrangère avec GORM dans Go ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-22 03:50:15447parcourir

How to Create a Foreign Key Relationship with GORM in Go?

Création de relations de clé étrangère avec Gorm

Problème :
Votre application Go utilise deux modèles, User et UserInfo, et vous souhaitez établir une relation de clé étrangère entre le champ UID dans UserInfo et le champ id dans User. La modification du modèle UserInfo seule s'est avérée inefficace.

Solution :

Au lieu de vous fier uniquement aux annotations gorm dans le modèle UserInfo, vous pouvez définir la contrainte de clé étrangère pendant migration de base de données. Ajoutez la ligne suivante à votre script de migration :

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

Cette ligne accomplit ce qui suit :

  • Elle spécifie que le champ u_id dans UserInfo est une clé étrangère associée au champ id dans la table t_user.
  • Il définit les actions ON DELETE et ON UPDATE sur RESTRICT, ce qui signifie que toute tentative de suppression ou de mise à jour d'une ligne utilisateur sera être rejeté s'il existe des lignes UserInfo existantes qui y font référence.

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!

Déclaration:
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
Article précédent:Go-DOM - étape majeureArticle suivant:Go-DOM - étape majeure