Golang pq: синтаксическая ошибка при выполнении sql
С помощью revel
, golang 1.1.2
, gorp
, postgres 9.3.2
на heroku
Следующий robfig
Пример бронирования списка
func (c App) ViewPosts(page int) revel.Result {
if page == 0 {
page = 1
}
var posts []*models.Post
size := 10
posts = loadPosts(c.Txn.Select(models.Post{},
`select * from posts offset ? limit ?`, (page-1)*size, size)) // error here
return c.RenderJson(posts)
}
Не уверен, почему я получаю pq: syntax error at or near "limit"
, Я предполагаю, что комбинированный запрос неверен. Почему запрос не заканчивается select * from posts offset 0 limit 10
, который я тестировал для запуска на postgres. Где я все испортил?
1 ответ
Решение
Я не знаком с Postgres, но я нашел эту проблему. Я думаю, что вы должны использовать его, как в Godoc
Пример в Годоке
age := 21
rows, err := db.Query("SELECT name FROM users WHERE age = $1", age)
(Заменить "?" На "$n")
Ваш код
func (c App) ViewPosts(page int) revel.Result {
if page == 0 {
page = 1
}
var posts []*models.Post
size := 10
posts = loadPosts(c.Txn.Select(models.Post{},
`select * from posts offset $1 limit $2`, (page-1)*size, size))
return c.RenderJson(posts)
}