golang pg.v4的Select,返回结果有可能是0行 1行或者多行,如果根据返回的行数进行下一步的insert 或update,应该怎么做? 如果使用
b:= &[]Book{}
err:= db.Model(b).Where("blabla").Select()
除非是数据库连接异常才会抛出error,而
b:= &Book{}
err:= db.Model(b).Where("blabla").Select()
会在select没有结果时抛出pg.ErrNoRows
,有多行时抛出pg.ErrMultiRows
,1行时返回nil
,数据库异常时error
。
看下源码实现:
db.go
func (db *DB) Model(model interface{}) *orm.Query {
return orm.NewQuery(db, model)
}