当我尝试从 mysql 数据库中获取没有照片的文章时:
func ArticlesAllText() ([]Article, error) {
var err error
var result []Article
err = database.SQL.Select(&result, "SELECT * FROM Article WHERE photo IS NULL")
if err != nil {
log.Println(err)
}
return result, standardizeError(err)
}
我明白了
sql: Scan error on column index 10: unsupported Scan, storing driver.Value type into type *string
当字段值为NULL
时。
我该如何解决这个问题?
最佳答案
使用sql.NullString
。
https://godoc.org/database/sql#NullString
就我个人而言,我讨厌这种解决方案,这就是为什么我规范化我的数据库以便没有 NULL
。
要么改变
var result []Article
到
var result []sql.NullString
然后获取这些结果并使用文档中的检查制作[]文章
。
或者在你的结构中,改变
Photo *string
到
Photo sql.NullString
并处理它是结构而不是 *string
感谢 ATN,请参阅此处获取指南 https://medium.com/aubergine-solutions/how-i-handled-null-possible-values-from-database-rows-in-golang-521fb0ee267
关于mysql - 扫描错误 : unsupported Scan, 存储 driver.Value type <nil> into type *string,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44891030/