当 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
}
- 1 回答
- 0 关注
- 264 浏览
添加回答
举报
0/150
提交
取消