github.com/insionng/yougam@v0.0.0-20170714101924-2bc18d833463/libraries/go-xorm/builder/builder_update.go (about) 1 package builder 2 3 import ( 4 "errors" 5 "fmt" 6 ) 7 8 func (b *Builder) updateWriteTo(w Writer) error { 9 if len(b.tableName) <= 0 { 10 return errors.New("no table indicated") 11 } 12 if len(b.updates) <= 0 { 13 return errors.New("no column to be update") 14 } 15 16 if _, err := fmt.Fprintf(w, "UPDATE %s SET ", b.tableName); err != nil { 17 return err 18 } 19 20 for i, s := range b.updates { 21 if err := s.opWriteTo(",", w); err != nil { 22 return err 23 } 24 25 if i != len(b.updates)-1 { 26 if _, err := fmt.Fprint(w, ","); err != nil { 27 return err 28 } 29 } 30 } 31 32 if _, err := fmt.Fprint(w, " WHERE "); err != nil { 33 return err 34 } 35 36 return b.cond.WriteTo(w) 37 }