【发布时间】:2018-10-09 15:32:34
【问题描述】:
我尝试使用 GORM 执行插入,我的日志显示插入语句并显示
0 行受影响或返回
如果我复制并粘贴插入语句,我可以在 psql 中看到这个错误:
错误:“start_dt”列中的空值违反非空约束
有没有办法让我立即在我的 go 日志中看到这个错误?
【问题讨论】:
-
请贴出您尝试插入数据的代码。
我尝试使用 GORM 执行插入,我的日志显示插入语句并显示
0 行受影响或返回
如果我复制并粘贴插入语句,我可以在 psql 中看到这个错误:
错误:“start_dt”列中的空值违反非空约束
有没有办法让我立即在我的 go 日志中看到这个错误?
【问题讨论】:
您应该在调试模式下使用 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{})
【讨论】:
您必须在插入语句的末尾附加.Error 才能让 GORM 返回错误消息(如果有)。此外,您可以使用.GetErrors() 将所有引发的错误作为一个切片。
【讨论】:
if err := db.Create(&entity).Error; err != nil {
fmt.Println(err.Error())
}
【讨论】: