Gorm框架 错误处理

如果在执行SQL查询的时候,出现错误,Gorm 会将错误信息保存到 *gorm.DB 的Error字段,我们只要检测 Error 字段就可以知道是否存在错误。

 

1. 错误处理范例

if err := db.Where("name = ?", "tizi365").First(&user).Error; err != nil {
  // 错误处理
}

或者

if result := db.Where("name = ?", "jinzhu").First(&user); result.Error != nil {
  // 错误处理

}

 

2. ErrRecordNotFound error

当 First、Last、Take 方法找不到记录时,Gorm 会返回 ErrRecordNotFound 错误。如果发生了多个错误,你可以通过 errors.Is 判断错误是否为 ErrRecordNotFound,例如:

// 检查错误是否为 RecordNotFound
err := db.First(&user, 100).Error
errors.Is(err, gorm.ErrRecordNotFound)

一般查询// 根据主键查询第一条记录db.First(&user)//// SELECT * FROM users ORDER BY id LIMIT 1;// 随机获取一条记录db.Take(& ...