go语言数据库查询错误unsupported Scan, storing driver.Value type []uint8 into type *time.Time
数据库类型是 datatime 或 timestamp,但是查询出来是 uint8 类型,无法转换成 time.Time 类型。
·
原因
数据库类型是 datatime 或 timestamp,但是查询出来是 uint8 类型,无法转换成 time.Time 类型
解决方案
在数据库连接的字符串中添加:&parseTime=True
用字符串连接的方式可以将字符串写成下面的格式
db, err := sql.Open("mysql", "root:123456@tcp(localhost:3306)/test?charset=utf8&parseTime=True")
用结构体的方式可以像下面这样
var Db *sql.DB
func init() {
cfg := mysql.Config{
User: "root",
Passwd: "root",
Net: "tcp",
Addr: "127.0.0.1:3306",
DBName: "chitchat",
ParseTime: true,
AllowNativePasswords: true,
}
var err error
Db, err = sql.Open("mysql", cfg.FormatDSN())
if err != nil {
panic(err)
}
}
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
已为社区贡献4条内容
所有评论(0)