Postgresql 如何在GoLang的结构数组中分配一组行(从数据库中检索)?

Postgresql 如何在GoLang的结构数组中分配一组行(从数据库中检索)?,postgresql,go,Postgresql,Go,我试图从postgresql中检索一组行,并试图将其分配到一个结构数组中。我的代码是这样的: var test []Demo err := sqlx.Get(db,&test, ` select * from demo where id = $1`, 5, ) if err

我试图从postgresql中检索一组行,并试图将其分配到一个结构数组中。我的代码是这样的:

var test []Demo
    err := sqlx.Get(db,&test, `
                    select *
                    from demo
                    where id = $1`,
                    5,
            )
            if err != nil {
                    fmt.Println("Error",err)
                    fmt.Println("DatabaseExtraction Error")
                    return nil, errors.Wrap(err, "select error")
            } else {
                    fmt.Println("No Extraction Error")
            }
type Demo struct {
        ID         int64         `db:"id"`
        Name       string        `db:"name"`
}
我有一个这样的结构:

var test []Demo
    err := sqlx.Get(db,&test, `
                    select *
                    from demo
                    where id = $1`,
                    5,
            )
            if err != nil {
                    fmt.Println("Error",err)
                    fmt.Println("DatabaseExtraction Error")
                    return nil, errors.Wrap(err, "select error")
            } else {
                    fmt.Println("No Extraction Error")
            }
type Demo struct {
        ID         int64         `db:"id"`
        Name       string        `db:"name"`
}
但是我遇到了这样的错误 扫描结果中列数大于1(2)的dest类型切片时出错(代码:2)
另外,如果我用var测试演示替换var测试[]演示,我不会得到任何错误

如果调用Get,它只希望返回一行。如果要选择多行,请使用select并向切片传递指针。例如:

var rows []Demo
err := sqlx.Select(&rows, `SELECT * FROM "demo"`)
// ...

如果调用Get,它只希望返回一行。如果要选择多行,请使用select并向切片传递指针。例如:

var rows []Demo
err := sqlx.Select(&rows, `SELECT * FROM "demo"`)
// ...