gorm创建记录,NewRecord和Create有什么区别?

gorm创建记录,NewRecord和Create有什么区别?代码如下:

user := User{Name: "Jinzhu", Age: 18, Birthday: time.Now()}
db.NewRecord(user) // => 主键为空返回`true`
db.Create(&user)
db.NewRecord(user) // => 创建`user`后返回`false`

代码来自文档: http://gorm.io/zh_CN/docs/cre...

阅读 10.2k
2 个回答
  • NewRecord 检查主键是否存在
  • Create 即执行 insert 操作

详细可以参考这篇stackoverflow链接

1.返回值不同
2.从代码上来看,NewRecord操作是没有带钩子的,Create有

推荐问题