unsupported Scan, storing driver.Value type []uint8 into type *time.Time

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
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章