statements передать динамическое количество значений? WHERE field IN($1) в структуре делает поле со значением int16, а мне нужен массив значений
какая бд?
pgsql
конвертируешь список в строку, через запятую, передаешь одним параметром, в sql ее распаковываешь средствами pgsql, и не имеешь геморов.
я про эту либу https://sqlc.dev/
этому подходу сто лет в обед (компиляция из ембеддед sql в языки), и твоей проблеме столько же лет. Решение универсальное даю 8)
const listAuthors = `-- name: ListAuthorsByIDs :many SELECT id, bio, birth_year FROM authors WHERE id = ANY($1::int[]) ` func (q *Queries) ListAuthorsByIDs(ctx context.Context, ids []int) ([]Author, error) { rows, err := q.db.QueryContext(ctx, listAuthors, pq.Array(ids))
Обсуждают сегодня