我正在使用 PostgreSQL,并且我正在尝试在 Pgx 中运行 SELECT * FROM 查询。
我似乎无法降低迭代,因为它只返回表中的最后一个键。我还尝试在运行 echo HTTP 服务器库时将其作为 JSON 提供。
main.go 函数(从我的数据库连接文件中导入 connection.Conn)
func getLanguages(c echo.Context) (err error) {
Conn := connection.Conn
type Row struct {
Id int
Language string
Name string
}
rowArray := Row{}
rows, err := Conn.Query(context.Background(), "SELECT * FROM languages")
defer rows.Close()
// rowsCount := 0
for rows.Next() {
err := rows.Scan(&rowArray.Id, &rowArray.Language, &rowArray.Name)
if err != nil {
log.Fatal(err)
}
}
fmt.Println(rowArray)
return c.JSON(http.StatusOK, rowArray)
}
预期产出
id | language | name
----+------------+---------------------
1 | none | Plaintext
2 | go | Golang
3 | python | Python
4 | js | JavaScript
5 | jsx | React JSX
6 | ts | TypeScript
7 | tsx | React TSX
8 | tsconfig | TSConfig
9 | rb | Ruby
10 | sql | SQL
11 | sol | Solidity (Ethereum)
12 | html | HTML
13 | css | CSS
14 | csharp | C#
15 | haskell | Haskell
16 | rust | Rust
17 | scala | Scala
18 | svg | SVG
19 | graphql | GraphQL
20 | php | PHP
21 | powershell | PowerShell
22 | yaml | YAML
23 | json | JSON
实际输出
{"Id":23,"Language":"json","Name":"JSON"}
有什么帮助吗?