code: func (db *Database) buildCreate() string {
  	var query bytes.Buffer
  	query.WriteString(db.buildCTE())
  	query.WriteString("INSERT INTO ")
  
  	// Model only
  	if len(db.tables) != 1 {
  		db.panicLog(fmt.Sprintf("Unable to infer table name for Create. Number of tables: %d", len(db.tables)))
  	}
  	// Table (
  	query.WriteString(db.tables[0])
  	query.WriteString("(")
  
  	// field1,file2,...
  	createSize := len(db.updateCreateFields)
  	if createSize == 0 {
  		db.panicLog("Unable to detect fields for Create")
  	}
  
  	query.WriteString(strings.Join(db.updateCreateFields, ","))
  	// values($1,..$n) place holders
  	query.WriteString(") VALUES (")
  	for i := 0; i < createSize; i++ {
  		query.WriteString("$")
  		query.WriteString(strconv.Itoa(db.varCount))
  		db.varCount++
  		if i != createSize-1 {
  			query.WriteString(",")
  		}
  	}
  
  	query.WriteString(") ")
  	query.WriteString(db.buildReturning())
  	query.WriteString(";")
  
  	qs := query.String()
  	db.printLog(qs)
  	return qs
  }
docs: // buildCreate returns the generated SQL for the CREATE statement. Panics if it can't generate a query