golang 读取 mysql null 字符串错误
例子:
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 字符串错误相关推荐
- mysql mediumblob读取_JSP如何读取MySql中MEDIUMBLOB字符串 | 学步园
JSP如何读取MySql中MEDIUMBLOB字符串,并显示? 实现向MYSQL数据库中存储或提取图片文件 一些情况下,需要向数据库中存储一些2进制文件,比如图片文件等,这时候,向数据库存储数据不同于 ...
- c 读取mysql中mediumblob_「mediumblob」JSP如何读取MySql中MEDIUMBLOB字符串 - seo实验室
mediumblob JSP如何读取mysql中mediumBLOB字符串,并显示? 实现向MYSQL数据库中存储或提取图片文件 一些情况下,需要向数据库中存储一些2进制文件,比如图片文件等,这时候, ...
- JSP如何读取MySql中MEDIUMBLOB字符串
JSP如何读取MySql中MEDIUMBLOB字符串,并显示? 实现向MYSQL数据库中存储或提取图片文件 一些情况下,需要向数据库中存储一些2进制文件,比如图片文件等,这时候,向数据库存储数据不同于 ...
- Oracle 与 Mysql NULL值,空字符串''的区别
Oracle(null等同于空字符'') 1.oracle插入空字符串默认替换成null 2.oracle查询(null和被替换的空字符)时使用 is null/is not null 3.使用聚合函 ...
- php mysql字符串截取比较读取_MySQL_Mysql字符串截取函数SUBSTRING的用法说明,感觉上MySQL的字符串函数截取 - phpStudy...
Mysql字符串截取函数SUBSTRING的用法说明 感觉上MySQL的字符串函数截取字符,比用程序截取(如PHP或JAVA)来得强大,所以在这里做一个记录,希望对大家有用. 函数: 1.从左开始截取 ...
- mysql备份文件解析_使用Golang解析读取Mysql备份文件
前言 前期误操作,导致数据库表删除,虽然数据量不多,但是通过binlog恢复比较麻烦,通过备份文件来恢复,备份文件达36个G打开都是问题: 使用备份文件恢复 大文件编辑器,glogg-latest-x ...
- linux中go读取mysql_如何利用Golang解析读取Mysql备份文件
前言 前期误操作,导致数据库表删除,虽然数据量不多,但是通过binlog恢复比较麻烦,通过备份文件来恢复,备份文件达36个G打开都是问题: 使用备份文件恢复 大文件编辑器,glogg-latest-x ...
- MYSQL ERROR CODE 错误编号的意义
mysql error code(备忘) 转1005:创建表失败 1006:创建数据库失败 1007:数据库已存在,创建数据库失败 1008:数据库不存在,删除数据库失败 1009:不能删除数据库文件 ...
- 华南农业大学Linux课程综合实验-超详细版(实现用Go、nodejs、python、php读取mysql数据)
文章目录 一.准备工作 1. 领取阿里云服务器 2. 服务器初始设置 2.1 设置实例密码 2.1.1 找不到控制台页面 2.2 远程登录云服务器 2.3 修改云服务器密码 2.4 实现自动远程连接 ...
最新文章
- 什么是main方法?
- 橙子云手机华为保修吗_华为云手机引关注!将替代传统手机?华为回应来了
- 1.6 分类模型准确性的评估方法
- C++11 实现defer功能(转载)
- 最新网卡驱动下载win7
- 样条曲线、样条函数、python绘画样条曲线
- Arduino+SIM800C实现电话通讯
- 5G无线采集网关 poe供电
- 类似支付宝密码框输入
- 2022年全球市场颈椎按摩仪总体规模、主要生产商、主要地区、产品和应用细分研究报告
- IDEA 2020.1.2 无法显示图片的魔幻解决方法
- 告别调参,AutoML新书发布
- opencv计算机视觉_opencv是计算机视觉的至尊工具
- php+b2b2c+商城,PHP源码:SHOPNC b2b2c电商平台系统,im+结算补丁+商城专题页插件
- 【调剂】淮阴工学院2020年硕士专业学位研究生调剂信息
- 安卓小米系统开发一些适配问题
- AC自动机及KMP练习
- css样式优先级机制
- YTU3189: 一个菱形
- 划分树 Super Mario