Go 数据库操作异常处理
插入操作
第一种写法
err := db.Model(&XXX{}).Create(order).Error
if err != nil {
logs.CtxError(ctx, "Create XXX failed, err:%v", err.Error())
return err
}
第二种写法
db := db.Model(&XXX{}).Create(order)
if db.Error != nil {
logs.CtxError(ctx, "Create XXX failed, err:%v", db.Error)
return db.Error
}
上述两种写法说明:
两种写法都没啥问题,第一种写法, 如果只插入一条数据,可以使用第一种写法简单;第二种写法可以拿到执行的 *DB
,方便后续的 DB 操作
更新操作
db := db.Model(&Voucher{