首頁  >  文章  >  後端開發  >  如何在 GORM v2.0 中檢索最後一個插入 ID?

如何在 GORM v2.0 中檢索最後一個插入 ID?

DDD
DDD原創
2024-10-30 06:24:03213瀏覽

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

GORM 2.0:擷取上次插入ID

使用GORM v2.0 向MySQL 資料庫插入資料時,LastInsertId() 方法不再可以透過Begin() 方法使用。相反,有兩個選項用於檢索最後一個插入ID:

選項1:使用db.Last() 函數

將一行插入資料庫後,呼叫db .Last() 函數並向其傳遞一個指向模型的指標。模型將填入插入的值,包括最後一個插入 ID。

範例:

<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:直接存取 ID

ID 也會填入您傳遞給 Create 函數的模型中。您可以直接存取它,而無需使用 db.Last()。

範例:

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

以上是如何在 GORM v2.0 中檢索最後一個插入 ID?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn