gorm 报错:sql: Scan error on column index 1, name "created_at": unsupported Scan, storing driver.Value type []uint8 into type *time.Time

前言

go 语言,使用 gorm 查询,报错:

sql: Scan error on column index 1, name "created_at": unsupported Scan, storing driver.Value type []uint8 into type *time.Time

报错原因

这个错误表明 Go 的 SQL 驱动程序在尝试将数据库中 created_at 列的值(类型为 []uint8,即字节切片)扫描到 Go 的 time.Time 类型时失败了。这通常是因为数据库中的 created_at 列存储为字符串(例如 VARCHARTEXT)或二进制数据,而不是原生的 DATETIMETIMESTAMP 类型,导致 Go 的 SQL 驱动无法直接将其转换为 time.Time

错误原因:created_at 列的类型可能是 VARCHARTEXT 或其他非时间类型(如 MySQLBYTEA),而你的 Go 结构体中定义了 created_attime.Time 类型,驱动无法自动转换。

MySQL 驱动未启用 parseTime 参数:Go 的 MySQL 驱动默认不会将 DATETIME 自动解析为 time.Time,需要显式启用 parseTime=true

posted @ 2025-07-18 21:14  牛奔  阅读(117)  评论(0)    收藏  举报