首页  >  文章  >  后端开发  >  如何在 GORM v2.0 中检索最后一个插入 ID?

如何在 GORM v2.0 中检索最后一个插入 ID?

DDD
DDD原创
2024-10-30 06:24:03210浏览

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