为什么我在做 err == sql.ErrNoRows 时不能使用类型 *sql.Row

我试图按照此处给出的答案中的示例进行操作: Golang: How to check for empty array (array of struct)


关于如何检查数据库返回是否为空


所以我有这个:


err = db.QueryRow("SELECT FROM accounts WHERE steamid=?", steamid)

switch {

        case err == sql.ErrNoRows:

        case err != nil:

        default:

                //do stuff

}

但我收到错误:


cannot use db.QueryRow("SELECT FROM accounts WHERE steamid=?", steamid) (type *sql.Row) as type error in assignment:

    *sql.Row does not implement error (missing Error method)

不知道为什么它在他的例子中起作用,但在我尝试实现它时不起作用。谢谢。


缥缈止盈
浏览 148回答 1
1回答

沧海一幻觉

您错过了Scan示例的一部分,它实际上返回了一个错误:err := db.QueryRow("SELECT ...").Scan(&id, &secret, &shortname)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go