unsupported Scan, storing driver.Value type []uint8 into type *time.Time
在 golang 操作数据库中出现
unsupported Scan, storing driver.Value type []uint8 into type *time.Time
错误
如果数据库表里用了 timestamp 的类型,可能在 scan 的时候出现这个问题,解决方法就是
在创建数据库连接的地方,加入 parseTime=true
参数
db, err := sqlx.Connect("mysql", "myuser:mypass@tcp(127.0.0.1:3306)/mydb?parseTime=true")
参考样例
func buildDsn(d Info) string {
var build strings.Builder
build.WriteString(d.username)
build.WriteString(":")
build.WriteString(d.password)
build.WriteString("@tcp(")
build.WriteString(d.host)
build.WriteString(":")
build.WriteString(d.port)
build.WriteString(")/")
build.WriteString(d.dbname)
build.WriteString("?charset=")
build.WriteString(d.charset)
build.WriteString("&parseTime=true")
s := build.String()
return s
}