code: func DefaultParamTypeForValue(value interface{}, tp *FieldType) {
  	switch value.(type) {
  	case nil:
  		tp.Tp = mysql.TypeVarString
  		tp.Flen = UnspecifiedLength
  		tp.Decimal = UnspecifiedLength
  	default:
  		DefaultTypeForValue(value, tp)
  		if hasVariantFieldLength(tp) {
  			tp.Flen = UnspecifiedLength
  		}
  		if tp.Tp == mysql.TypeUnspecified {
  			tp.Tp = mysql.TypeVarString
  		}
  	}
  }
docs: // DefaultParamTypeForValue returns the default FieldType for the parameterized value.