У меня есть запрос, который использует NamedArgs из sql .DB, и я получаю сообщение об ошибке при сборке
cannot use args (type []sql.NamedArg) as type []interface {} in argument to stmt.Exec
Пример в библиотеке SQL показывает, что он используется:
Example usage:
db.ExecContext(ctx, `
delete from Invoice
where
TimeCreated < @end
and TimeCreated >= @start;`,
sql.Named("start", startTime),
sql.Named("end", endTime),
)
Единственная разница в том, что я сейчас использую подготовленный оператор stmt
и вызываю для него метод Exec
. Я создал фрагмент NamedArg со своими значениями, и он использует расширитель ...
.
res, err := stmt.Exec(args...)
Что именно не так, когда пример показывает вызов метода sql.Named()
непосредственно в коде? Почему не работает расширенный срез?