为了账号安全,请及时绑定邮箱和手机立即绑定

db.Query 是否返回 ErrNoRows?

db.Query 是否返回 ErrNoRows?

Go
翻阅古今 2022-05-17 17:56:47
当 sql 查询预计不会返回任何结果时,我似乎无法从我的 db.query 中获取 ErrNoRows。results, err := database.Query("SELECT title FROM accountProject WHERE accountID=? AND MATCH(title) AGAINST(?)", accountID, query)if err != nil {    if err == sql.ErrNoRows {        return errProjectDoesNotExist    }    return err}
查看完整描述

1 回答

?
德玛西亚99

TA贡献1770条经验 获得超3个赞

查询不返回值 sql.ErrNoRows。当结果集没有行时,对 Next 的第一次调用返回 false。


值sql.ErrNoRows从ScanRow返回的占位符行上调用 Scan 返回。


如果应用程序正在查找零行或一行,请使用 QueryRow 而不是 Query。


row, err := database.QueryRow("SELECT title FROM accountProject WHERE accountID=? AND MATCH(title) AGAINST(?)", accountID, query)

if err != nil {

    return err

}

err := row.Scan( .... address of variables here ... )

if err != nil {

    if err == sql.ErrNoRows {

        err = errProjectDoesNotExist

    }

    return err

}


查看完整回答
反对 回复 2022-05-17
  • 1 回答
  • 0 关注
  • 264 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信