pgx.ErrNoRows与查询返回的错误不匹配

问题描述

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)
    }
}

即使实际上没有返回任何行,我也永远不会收到“没有行”的消息。 错误总是“结果集中无行”,但它永远不匹配pgx.Errnorows,据我所知它们应该是相同的。

在检查类型时,pgx.Errnorows = * errors.fundamental,而err = * xerrors.errorString。

我在做什么或承担磨损?

编辑:

正如下面@mkopriva所述,问题是goimport会自动导入错误的pgx,它必须为“ github.com/jackc/pgx/v4”

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)