Wie kann ich die zuletzt eingegebene ID in GORM 2.0 abrufen?

Barbara Streisand
Freigeben: 2024-10-25 11:55:02
Original
1088 Leute haben es durchsucht

How to Retrieve the Last Inserted ID in GORM 2.0?

Letzte Einfügungs-ID in GORM 2.0

In GORM 2.0 hat sich das Abrufen der zuletzt eingefügten ID nach dem Ausführen einer Datenbankeinfügung im Vergleich zu früher geändert Versionen. In diesem Artikel wird erläutert, wie Sie mit der aktuellen Version von GORM die zuletzt eingefügte ID abrufen.

In GORM v2.0 gibt die Begin()-Funktion kein sql.Tx-Objekt mehr zurück, das zuvor die LastInsertId( ) Methode. Stattdessen sollte nach dem Einfügen einer Zeile in die Datenbank die Funktion Last() verwendet werden. Alternativ ist ein effizienterer Ansatz verfügbar.

Nach einer erfolgreichen Datenbankeinfügung mit der Funktion „Erstellen“ füllt GORM automatisch die ID in das an die Funktion übergebene Modell ein. Daher ist der Aufruf von db.Last(&model) nicht erforderlich, da das Modell bereits die zuletzt eingefügte ID enthält. Diese Technik vermeidet nicht nur unnötige Datenbankaufrufe, sondern stellt auch die Datenintegrität sicher.

Um dies zu veranschaulichen, betrachten Sie das folgende 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
})

// This is unnecessary
// db.Last(&user1)

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

In diesem Beispiel enthält das Modell user1 automatisch das zuletzt eingefügte ID nach Ausführung der Create-Funktion, auf die direkt über user1.ID zugegriffen werden kann. Diese Methode ist effizient und macht zusätzliche Datenbankabfragen oder unnötige Funktionsaufrufe überflüssig.

Das obige ist der detaillierte Inhalt vonWie kann ich die zuletzt eingegebene ID in GORM 2.0 abrufen?. 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