我是新手,正在尝试从 MySQL 读取数据。架构:“id:INT(11),头部:TEXT,过滤器:BIT(64)”
我试图以常见的方式做到这一点:
type News struct {
Id int `field:"id"`
Head string `field:"head"`
Filter uint64 `field:"filter"`
}
...
rows.Scan(&item.Id, &item.Head, &item.Filter)
并得到:
Scan error on column index 2, name "filter": converting NULL to uint64 is unsupported
我尝试了一些带有反射的示例,但没有结果。
我试过像这里一样制作自己的类型(真的不明白这个):
type BitMask uint64
func (bits *BitMask) Scan(src interface{}) error {
str, ok := src.(string)
if !ok {
return fmt.Errorf("Unexpected type for BitMask: %T\n", src)
}
fmt.Println(str)
//var v uint64 = 0
//*bits = v // <- Also have error here
return nil
}
并得到类似的错误:“BitMask 的意外类型:< nil>”
哈士奇WWW
相关分类