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中文網其他相關文章!