pgx 的新人。使用 pgxpool。我有一个简单的查询
var result string
err := Conn.QueryRow(context.Background(),
`SELECT name FROM table WHERE id=1000`).Scan(&result)
if err != nil {
if err == pgx.ErrNoRows {
fmt.Println("No Rows")
fmt.Println(err)
} else {
fmt.Println("Other Error")
fmt.Println(err)
}
}
Run Code Online (Sandbox Code Playgroud)
即使实际上没有返回任何行,我也永远不会得到“无行”。错误总是“结果集中没有行”,但它永远不会匹配 pgx.ErrNoRows,因为我知道它们应该是相同的。
在检查类型时,pgx.ErrNoRows = *errors.fundamental 而 err = *xerrors.errorString。
我在做什么或假设做什么?
编辑:
正如下面@mkopriva提到的,问题是goimport自动导入了错误的pgx,它需要是“github.com/jackc/pgx/v4”
| 归档时间: |
|
| 查看次数: |
7047 次 |
| 最近记录: |