Golang использует значения массива в запросе к БД для фильтрации записей

#go #goquery #go-structtag

#Вперед #goquery #go-structtag

Вопрос:

У меня есть список значений массива int64

 ids = [{1} {2} {3}]
 

Я хочу использовать приведенный выше массив в запросе БД для фильтрации записей, в которых ID отсутствует в указанных выше идентификаторах.

 SELECT * from table where id not in (1,2,3);
 

Я перепробовал много способов, но не смог создать строку запроса.

Комментарии:

1. Можете ли вы привести пример того, как вы пытаетесь решить эту проблему? и предоставьте допустимый синтаксис, например ids := []int{1,2,3}

Ответ №1:

Я создал пример сценария следующим образом :

 func main() {
    ids := []int{1, 2, 3}

    var tmp []string

    for _, v := range ids {
        tmp = append(tmp, fmt.Sprint(v))
    }

    query := "SELECT * from table where id not in ("   strings.Join(tmp, ",")   ")"
    fmt.Println(query)

}
 

или

Вы можете запустить его по ссылке go playground