关于github.com/Go-SQL-Driver/MySQL的一个疑惑

1034992601 · 2018-01-10 16:55:55 · 1630 次点击 · 大约8小时之前 开始浏览    置顶
这是一个创建于 2018-01-10 16:55:55 的主题,其中的信息可能已经有所发展或是发生改变。

在开发中用到了row := this.db.QueryRow(sqltext, idinput)方法

er := row.Scan(&id, &user_id)

这里有一个问题,当没有满足条件的数据时,er 它不为nil, 此时在外部用时就没法区分是没有相关的数据还是其它什么错误(数据库连接问题等)


有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

1630 次点击  
加入收藏 微博
3 回复  |  直到 2018-01-11 14:32:04
1034992601
1034992601 · #1 · 7年之前

大侠些在开发中是怎么处理这种情况的呢?

channel
channel · #2 · 7年之前

可以仿照 IO 的做法:当读到末尾时,返回 EOF。

如果没有满足条件的数据,可以返回一个 err,特定类型的 error,和其他错误区分开。

1034992601
1034992601 · #3 · 7年之前

原来有个error 就是 sql.ErrNoRows

添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传