问题现象

无论是使用各种 ORM 工具(sqlx,xorm,gorm 等)访问 MySQL 时,当将记录集映射为结构体的时候,当结构体中有属性类型是time.Time 的时候,总是报unsupported Scan, storing driver.Value type []uint8 into type *time.Time 的错误,并且结构体中的 time.Time 类型字段被设置为默认零值。

解决方案

解决方法是使用 MySQL 驱动程序自带的解析 Time 的功能。即在数据库连接串中增加

db_name?charset=utf8&parseTime=true

即可。 网络上的各种各样复杂的方案都没这个方法简单。