首页  >  文章  >  后端开发  >  如何在 GORM 2.0 中检索最后插入的 ID?

如何在 GORM 2.0 中检索最后插入的 ID?

Barbara Streisand
Barbara Streisand原创
2024-10-25 11:55:02984浏览

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