Wie rufe ich die letzte Einfügungs-ID in GORM 2.0 ab?

Barbara Streisand
Freigeben: 2024-10-26 13:24:28
Original
371 Leute haben es durchsucht

How to Retrieve the Last Insert ID in GORM 2.0?

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!