首頁 > 後端開發 > Golang > 如何在 GORM 2.0 中檢索最後一個插入 ID?

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

Barbara Streisand
發布: 2024-10-26 13:24:28
原創
480 人瀏覽過

How to Retrieve the Last Insert ID in GORM 2.0?

如何在GORM 2.0 檢索上次插入ID

在早期的GORM 版本中,Begin() 方法傳回一個sql.Tx對象,該對象啟用使用LastInsertId() 方法檢索最後一個插入ID。不過,在 GORM 2.0 中,該方法已被刪除。

在GORM 2.0 中取得最後一個插入ID

在GORM 2.0 中有兩種方法可以取得最後一個插入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欄位。 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
    })

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

建議:

建議使用第二種方法(直接存取模型的ID)因為它消除了額外的db.Last() 呼叫的需要。這可以提高效能,特別是對於大容量插入操作。

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

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板