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
}