使用gorm,在mysql插入数据后,如何高效的获取刚刚插入的主键id
gorm 的create 返回结果的value里有刚插入的数据结果,可以拿到插入的ID, 本人使用示例如下
func InsertCategory(category Category) (uint, error) {
result := models.Db.Debug().Create(&category)
if err := result.Error; err != nil {
return 0, err
}
if carels, ok := result.Value.(*Category); ok {
return carels.Id, nil
} else {
return 0, errors.New("category表插入数据异常")
}
return 0, nil
}
#5
更多评论
gorm 是会返回id的,create(&model)如果model里面有id的话。可以自己调试下。执行create之前id=0,执行之后就不是了。
#1