Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Golang MySQL odpytujący niezdefiniowaną ilość argumentów za pomocą operatora IN

Stmt.Query() ma zmienny parametr:

func (s *Stmt) Query(args ...interface{}) (*Rows, error)

Oznacza to, że możesz użyć wielokropka ... aby przekazać wartość wycinka jako wartość parametru variadic, ale ten wycinek musi być typu []interface{} , np.:

var args []interface{}
for _, v := range r.Form["type"] {
    t, _ := strconv.Atoi(v)
    args = append(args, t)
}

// ...

rows, err := stmt.Query(args...)

Alternatywnie możesz wstępnie zbudować zapytanie SQL i wykonać je bez przekazywania argumentów zapytania, na przykład zobacz Klauzula Go i IN w Postgresie .




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PHP i MySQL — jak wyświetlić wybraną wartość w menu rozwijanym

  2. Jak zainstalować MySQL-python na instancji Amazon Web Services EC2?

  3. Jak wykonać wiele zapytań, aby zmniejszyć liczbę zapytań?

  4. MySQL kopiuje wartości wielu wierszy o tym samym identyfikatorze do nowych kolumn?

  5. Zapytanie SQL, które zwraca tabelę, w której każdy wiersz reprezentuje datę z danego zakresu