更新


例子一

  1. var d Dbtest
  2. d.Id = 10
  3. d.Param1 = 100
  4. d.Param2 = "test"
  5. dao := NewDbtestDao()
  6. affect, err := dao.Update(&d) //affect为更新生效行数
  • 表映射结构体未更改字段,默认是零值,不会更新

例子二

  1. dao := NewDbtestDao()
  2. param := torm.CastToParamIn([]int{1})
  3. data, err := dao.Get(param)
  4. if err != nil {
  5. return err
  6. }
  7. if len(lists) > 0 {
  8. row := lists[0]
  9. row.Param1 = 100
  10. row.Param2 = "update1"
  11. affect, err := dao.Update(&row)
  12. }
  • row所有原非零字段会同时更新,并发会出现覆盖get之后的更新情况,解决方法参考更新指定字段