Maison  >  Article  >  développement back-end  >  Comment récupérer le dernier ID d'insertion dans GORM v2.0 ?

Comment récupérer le dernier ID d'insertion dans GORM v2.0 ?

DDD
DDDoriginal
2024-10-30 06:24:03213parcourir

How to retrieve the last insert ID in GORM v2.0?

GORM 2.0 : Récupération de l'ID du dernier insert

Lors de l'utilisation de GORM v2.0 pour insérer des données dans une base de données MySQL, la méthode LastInsertId() n'est plus disponible via la méthode Begin(). Au lieu de cela, il existe deux options pour récupérer le dernier ID d'insertion :

Option 1 : utilisez la fonction db.Last()

Après avoir inséré une ligne dans la base de données, appelez la fonction db.Last() et transmettez-lui un pointeur vers le modèle. Le modèle sera renseigné avec les valeurs insérées, y compris le dernier ID d'insertion.

Exemple :

<code class="go">type User struct {
    gorm.Model
    Name string
}

user1 := User{Name: "User One"}

_ = db.Transaction(func(tx *gorm.DB) error {
    tx.Create(&user1)
    return nil
})

db.Last(&user1)

fmt.Printf("User one ID: %d\n", user1.ID)</code>

Option 2 : accéder directement à l'ID

L'ID est également renseigné dans le modèle que vous transmettez à la fonction Créer. Vous pouvez y accéder directement sans utiliser db.Last().

Exemple :

<code class="go">type User struct {
    gorm.Model
    Name string
}

user1 := User{Name: "User One"}

_ = db.Transaction(func(tx *gorm.DB) error {
    tx.Create(&user1)
    return nil
})

fmt.Printf("User one ID: %d\n", user1.ID)</code>

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