gorm 为什么不在日志中报告插入错误?
Why doesn't gorm report an insert error in the logs?
我尝试使用 GORM 执行插入,我的日志显示插入语句并显示
0 rows affected or returned
如果我复制并粘贴插入语句,我会在 psql 中看到这个错误:
ERROR: null value in column "start_dt" violates not-null constraint
有没有办法让我立即在我的 go 日志中看到这个错误?
您必须在插入语句的末尾附加 .Error
以便 GORM return 错误消息(如果有的话)。此外,您可以使用 .GetErrors()
将所有引发的错误作为一个片段。
if err := db.Create(&entity).Error; err != nil {
fmt.Println(err.Error())
}
您应该在调试模式下使用 gorm 以查看错误消息!
// Enable Logger, show detailed log
db.LogMode(true)
// Disable Logger, don't show any log even errors
db.LogMode(false)
// Debug a single operation, show detailed log for this operation
db.Debug().Where("name = ?", "jinzhu").First(&User{})
我尝试使用 GORM 执行插入,我的日志显示插入语句并显示
0 rows affected or returned
如果我复制并粘贴插入语句,我会在 psql 中看到这个错误:
ERROR: null value in column "start_dt" violates not-null constraint
有没有办法让我立即在我的 go 日志中看到这个错误?
您必须在插入语句的末尾附加 .Error
以便 GORM return 错误消息(如果有的话)。此外,您可以使用 .GetErrors()
将所有引发的错误作为一个片段。
if err := db.Create(&entity).Error; err != nil {
fmt.Println(err.Error())
}
您应该在调试模式下使用 gorm 以查看错误消息!
// Enable Logger, show detailed log
db.LogMode(true)
// Disable Logger, don't show any log even errors
db.LogMode(false)
// Debug a single operation, show detailed log for this operation
db.Debug().Where("name = ?", "jinzhu").First(&User{})