code: func (statement *Statement) Init() {
  	statement.RefTable = nil
  	statement.Start = 0
  	statement.LimitN = 0
  	statement.OrderStr = ""
  	statement.UseCascade = true
  	statement.JoinStr = ""
  	statement.joinArgs = make([]interface{}, 0)
  	statement.GroupByStr = ""
  	statement.HavingStr = ""
  	statement.ColumnStr = ""
  	statement.OmitStr = ""
  	statement.columnMap = columnMap{}
  	statement.omitColumnMap = columnMap{}
  	statement.AltTableName = ""
  	statement.tableName = ""
  	statement.idParam = nil
  	statement.RawSQL = ""
  	statement.RawParams = make([]interface{}, 0)
  	statement.UseCache = true
  	statement.UseAutoTime = true
  	statement.noAutoCondition = false
  	statement.IsDistinct = false
  	statement.IsForUpdate = false
  	statement.TableAlias = ""
  	statement.selectStr = ""
  	statement.allUseBool = false
  	statement.useAllCols = false
  	statement.mustColumnMap = make(map[string]bool)
  	statement.nullableMap = make(map[string]bool)
  	statement.checkVersion = true
  	statement.unscoped = false
  	statement.incrColumns = make(map[string]incrParam)
  	statement.decrColumns = make(map[string]decrParam)
  	statement.exprColumns = make(map[string]exprParam)
  	statement.cond = builder.NewCond()
  	statement.bufferSize = 0
  	statement.context = nil
  	statement.lastError = nil
  }
docs: // Init reset all the statement's fields