Heim >Backend-Entwicklung >Golang >Wie rufe ich die letzte Einfügungs-ID in GORM 2.0 ab?
So rufen Sie die letzte Einfügungs-ID in GORM 2.0 ab
In früheren GORM-Versionen gab die Begin()-Methode ein sql.Tx-Objekt zurück, das aktivierte den Abruf der letzten Einfüge-ID mit der Methode LastInsertId(). In GORM 2.0 wurde diese Methode jedoch entfernt.
Abrufen der letzten Einfügungs-ID in GORM 2.0
Es gibt zwei Methoden, um die letzte Einfügungs-ID in GORM 2.0 abzurufen :
1. Mit db.Last():
Nachdem Sie eine Zeile in die Datenbank eingefügt haben, können Sie die Funktion db.Last() aufrufen. Dadurch wird das Modell mit der neu zugewiesenen ID gefüllt:
<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>
2. Direkter Zugriff auf die ID des Modells:
Alternativ können Sie nach dem Einfügen direkt auf das ID-Feld des Modells zugreifen. Die ID wird während des Einfügevorgangs automatisch ausgefüllt:
<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>
Empfehlung:
Es wird empfohlen, den zweiten Ansatz zu verwenden (direkter Zugriff auf die ID des Modells). da dadurch die Notwendigkeit eines zusätzlichen db.Last()-Aufrufs entfällt. Dies kann die Leistung verbessern, insbesondere bei Einfügevorgängen mit hohem Volumen.
Das obige ist der detaillierte Inhalt vonWie rufe ich die letzte Einfügungs-ID in GORM 2.0 ab?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!