code: func (h *sqlHelper) Insert(
  	logger lager.Logger,
  	q Queryable,
  	table string,
  	attributes SQLAttributes,
  ) (sql.Result, error) {
  	attributeCount := len(attributes)
  	if attributeCount == 0 {
  		return nil, nil
  	}
  
  	query := fmt.Sprintf("INSERT INTO %s\n", table)
  	attributeNames := make([]string, 0, attributeCount)
  	attributeBindings := make([]string, 0, attributeCount)
  	bindings := make([]interface{}, 0, attributeCount)
  
  	for column, value := range attributes {
  		attributeNames = append(attributeNames, column)
  		attributeBindings = append(attributeBindings, "?")
  		bindings = append(bindings, value)
  	}
  	query += fmt.Sprintf("(%s)", strings.Join(attributeNames, ", "))
  	query += fmt.Sprintf("VALUES (%s)", strings.Join(attributeBindings, ", "))
  
  	return q.Exec(h.Rebind(query), bindings...)
  }
docs: // INSERT INTO <table> (...) VALUES ...