首頁  >  文章  >  後端開發  >  如何在 GORM 2.0 中檢索最後插入的 ID?

如何在 GORM 2.0 中檢索最後插入的 ID?

Barbara Streisand
Barbara Streisand原創
2024-10-25 11:55:021090瀏覽

How to Retrieve the Last Inserted ID in GORM 2.0?

GORM 2.0 中的最後插入ID

在GORM 2.0 中,執行資料庫插入後取得最後插入的ID 與先前相比發生了變化版本。本文探討如何使用目前版本的 GORM 檢索最後插入的 ID。

在 GORM v2.0 中,Begin() 函數不再傳回 sql.Tx 對象,該物件先前提供了 LastInsertId( ) 方法。相反,應在將行插入資料庫後使用 Last() 函數。或者,可以使用更有效的方法。

使用 Create 函數成功插入資料庫後,GORM 會自動填入傳遞給函數的模型中的 ID。因此,呼叫 db.Last(&model) 是不必要的,因為模型已經包含最後插入的 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
})

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

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

在此範例中,user1 模型自動包含最後插入的執行Create函數後的ID,可以直接使用user1.ID來訪問。這種方法非常高效,並且不需要額外的資料庫查詢或不必要的函數呼叫。

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

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