如何获取最后添加的项目的实例?

huangapple go评论94阅读模式
英文:

How can I retrieve instance of last added item

问题

我正在使用github.com/jinzhu/gorm和mysql后端。我想要在之前的Create调用中检索到行的Id(或完整实体)。

就像这样,last-insert-id: (http://dev.mysql.com/doc/refman/5.0/en/information-functions.html#function_last-insert-id)

我该如何做到这一点?

英文:

I'm using github.com/jinzhu/gorm with a mysql backend. I want to retrieve the Id (or the full entity) of the row in the previous Create call.

As in, last-insert-id: (http://dev.mysql.com/doc/refman/5.0/en/information-functions.html#function_last-insert-id)

How can I do this?

答案1

得分: 18

以下是要翻译的内容:

type User struct {
  Id int
  Name string
}

user := User{Name: "jinzhu"}
db.Save(&user)
// user.Id 被设置为最后插入的 id

请注意,我只提供翻译服务,不会执行代码。

英文:
type User struct {
  Id int
  Name string
}
 
user := User{Name: "jinzhu"}
db.Save(&user)
// user.Id is set to last insert id

答案2

得分: 3

尝试如下:

type User struct {
  Id   int    `gorm:"column:id; PRIMARY_KEY" json:"id"`
  Name string `gorm:"column:name" json:"name"`
}

user := User{Name: "Andy"}
db.Save(&user)
// user.Id 被设置为最后插入的 id

请注意,我已经将代码中的引号进行了转义,以确保翻译的准确性。

英文:

Try as follows

type User struct {
  Id   int    `gorm:"column:id; PRIMARY_KEY" json:"id"`
  Name string `gorm:"column:name" json:"name"`
}

user := User{Name: "Andy"}
db.Save(&user)
// user.Id is set to last insert id

huangapple
  • 本文由 发表于 2015年2月28日 04:45:41
  • 转载请务必保留本文链接:https://go.coder-hub.com/28773963.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定