更新
例子一
var d Dbtest
d.Id = 10
d.Param1 = 100
d.Param2 = "test"
dao := NewDbtestDao()
affect, err := dao.Update(&d) //affect为更新生效行数
- 表映射结构体未更改字段,默认是零值,不会更新
例子二
dao := NewDbtestDao()
param := torm.CastToParamIn([]int{1})
data, err := dao.Get(param)
if err != nil {
return err
}
if len(lists) > 0 {
row := lists[0]
row.Param1 = 100
row.Param2 = "update1"
affect, err := dao.Update(&row)
}
- row所有原非零字段会同时更新,并发会出现覆盖get之后的更新情况,解决方法参考更新指定字段