Heim  >  Artikel  >  Backend-Entwicklung  >  Wie rufe ich die letzte Einfügungs-ID in GORM v2.0 ab?

Wie rufe ich die letzte Einfügungs-ID in GORM v2.0 ab?

DDD
DDDOriginal
2024-10-30 06:24:03223Durchsuche

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

GORM 2.0: Letzte Einfügungs-ID abrufen

Bei Verwendung von GORM v2.0 zum Einfügen von Daten in eine MySQL-Datenbank wird die Methode LastInsertId() verwendet ist nicht mehr über die Begin()-Methode verfügbar. Stattdessen gibt es zwei Optionen zum Abrufen der letzten Einfügungs-ID:

Option 1: Verwenden Sie die db.Last()-Funktion

Nach dem Einfügen einer Zeile in die Datenbank, Rufen Sie die Funktion db.Last() auf und übergeben Sie ihr einen Zeiger auf das Modell. Das Modell wird mit den eingefügten Werten gefüllt, einschließlich der letzten Einfügungs-ID.

Beispiel:

<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: Direkt auf die ID zugreifen

Die ID wird auch in das Modell eingetragen, das Sie an die Funktion „Erstellen“ übergeben. Sie können direkt darauf zugreifen, ohne db.Last() zu verwenden.

Beispiel:

<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>

Das obige ist der detaillierte Inhalt vonWie rufe ich die letzte Einfügungs-ID in GORM v2.0 ab?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn