【踩坑】Go通过Mysql查询时得到空值报错

前言

Go通过Mysql查询时得到空值报错:sql: Scan error on column index 1, name "": converting NULL to string is unsupported

原因

  • 通过sql.Query处理结果时,返回了null值,而Go语言中的string类型不允许为null

解决问题

方法一

  • 将结构体中的string类型改为*string类型

这种做法的弊端是会导致结构体不通用

方法二

  • 将结构体中的string类型改为sql.NullString类型

这种做法的弊端是会导致不能为该属性传递普通string类型的值

方法三

  • 将查询SQL的条件从SELECT 表名.字段名更改为SELECT COALESCE(表名.字段名, '') AS 字段名

完成

参考文献

简书——QxQx