例子:

var query = `SELECT buin, gid, firstMsgId, lastReadMsgId,maxMsgId, handle, state FROM XX
rows,err := helperDB.Query(query)
iferr != nil {
returnnil, err
}
list:= make([]*common.ListHelperAssignRsp, 0)
forrows.Next() {
u:= &common.ListHelperAssignRsp{}
rows.Scan(&u.Id,&u.SessId, &u.Assigner, &u.Handler, &u.Timestamp, &u.State,&u.Remark)
list= append(list, u)
}
returnlist, nil

自定义结构体ListHelperAssignRsp

type ListHelperAssignRsp struct {
SessIdstring `json:"sessId"`
Buinint`json:"buin"`
Gidint`json:"gid"`
FirstMsgIdint`json:"firstMsgId"`
LastReadMsgIdint`json:"lastReadMsgId"`
MaxMsgIdint`json:"maxMsgId"`
Handlestring `json:"handle"`
Stateint`json:"state"`
}

如果按照上面的方式来读取,读取到第三行,handle,state均为0,原因就在rows.Scan读取数据库null是报错,导致后面的不执行。
解决方法有两个
方法一:修改结构体
将ListHelperAssignRsp的Handle的类型改为sql.NullString,这样就可以兼容null跟string。
方法二:设计数据库的时候把Handle设计成空字符串
handler varchar(64) NOT NULL DEFAULT '',

golang 读取 mysql null 字符串错误相关推荐

  1. mysql mediumblob读取_JSP如何读取MySql中MEDIUMBLOB字符串 | 学步园

    JSP如何读取MySql中MEDIUMBLOB字符串,并显示? 实现向MYSQL数据库中存储或提取图片文件 一些情况下,需要向数据库中存储一些2进制文件,比如图片文件等,这时候,向数据库存储数据不同于 ...

  2. c 读取mysql中mediumblob_「mediumblob」JSP如何读取MySql中MEDIUMBLOB字符串 - seo实验室

    mediumblob JSP如何读取mysql中mediumBLOB字符串,并显示? 实现向MYSQL数据库中存储或提取图片文件 一些情况下,需要向数据库中存储一些2进制文件,比如图片文件等,这时候, ...

  3. JSP如何读取MySql中MEDIUMBLOB字符串

    JSP如何读取MySql中MEDIUMBLOB字符串,并显示? 实现向MYSQL数据库中存储或提取图片文件 一些情况下,需要向数据库中存储一些2进制文件,比如图片文件等,这时候,向数据库存储数据不同于 ...

  4. Oracle 与 Mysql NULL值,空字符串''的区别

    Oracle(null等同于空字符'') 1.oracle插入空字符串默认替换成null 2.oracle查询(null和被替换的空字符)时使用 is null/is not null 3.使用聚合函 ...

  5. php mysql字符串截取比较读取_MySQL_Mysql字符串截取函数SUBSTRING的用法说明,感觉上MySQL的字符串函数截取 - phpStudy...

    Mysql字符串截取函数SUBSTRING的用法说明 感觉上MySQL的字符串函数截取字符,比用程序截取(如PHP或JAVA)来得强大,所以在这里做一个记录,希望对大家有用. 函数: 1.从左开始截取 ...

  6. mysql备份文件解析_使用Golang解析读取Mysql备份文件

    前言 前期误操作,导致数据库表删除,虽然数据量不多,但是通过binlog恢复比较麻烦,通过备份文件来恢复,备份文件达36个G打开都是问题: 使用备份文件恢复 大文件编辑器,glogg-latest-x ...

  7. linux中go读取mysql_如何利用Golang解析读取Mysql备份文件

    前言 前期误操作,导致数据库表删除,虽然数据量不多,但是通过binlog恢复比较麻烦,通过备份文件来恢复,备份文件达36个G打开都是问题: 使用备份文件恢复 大文件编辑器,glogg-latest-x ...

  8. MYSQL ERROR CODE 错误编号的意义

    mysql error code(备忘) 转1005:创建表失败 1006:创建数据库失败 1007:数据库已存在,创建数据库失败 1008:数据库不存在,删除数据库失败 1009:不能删除数据库文件 ...

  9. 华南农业大学Linux课程综合实验-超详细版(实现用Go、nodejs、python、php读取mysql数据)

    文章目录 一.准备工作 1. 领取阿里云服务器 2. 服务器初始设置 2.1 设置实例密码 2.1.1 找不到控制台页面 2.2 远程登录云服务器 2.3 修改云服务器密码 2.4 实现自动远程连接 ...

最新文章

  1. 什么是main方法?
  2. 橙子云手机华为保修吗_华为云手机引关注!将替代传统手机?华为回应来了
  3. 1.6 分类模型准确性的评估方法
  4. C++11 实现defer功能(转载)
  5. 最新网卡驱动下载win7
  6. 样条曲线、样条函数、python绘画样条曲线
  7. Arduino+SIM800C实现电话通讯
  8. 5G无线采集网关 poe供电
  9. 类似支付宝密码框输入
  10. 2022年全球市场颈椎按摩仪总体规模、主要生产商、主要地区、产品和应用细分研究报告
  11. IDEA 2020.1.2 无法显示图片的魔幻解决方法
  12. 告别调参,AutoML新书发布
  13. opencv计算机视觉_opencv是计算机视觉的至尊工具
  14. php+b2b2c+商城,PHP源码:SHOPNC b2b2c电商平台系统,im+结算补丁+商城专题页插件
  15. 【调剂】淮阴工学院2020年硕士专业学位研究生调剂信息
  16. 安卓小米系统开发一些适配问题
  17. AC自动机及KMP练习
  18. css样式优先级机制
  19. YTU3189: 一个菱形
  20. 划分树 Super Mario

热门文章

  1. 边缘计算 — 困境与破局
  2. linux删除U盘分区、创建分区和格式化
  3. 标准W3C盒子模型和IE盒子模型CSS布局经典盒子模型(转)
  4. 【TensorFlow系列】【五】利用inception v3 pb模型文件做预测
  5. 卡巴斯基:今年以来物联网恶意软件数量已超过去年的2倍
  6. Java笔记14:泛型初探
  7. Android学习笔记之-Android性能测试之DDMS的使用
  8. 理解和配置 Linux 下的 OOM Killer
  9. 关于向Mybatis传递多个参数进行SQL查询的用法
  10. [连载]JavaScript讲义(05)--- 数据处理