MySQL
golang
GORM

Golangで`Scan error`が出た時の対応

More than 1 year has passed since last update.

Golangで開発している時に
sql: Scan error on column index 1: unsupported Scan, storing driver.Value type []uint8 into type *time.Time
というエラーが出たので、対応した

解決策

DNSの末尾に?parseTime=trueを入れる

https://github.com/go-sql-driver/mysql/issues/9#issuecomment-51552649
から引用

原因

Scanするときのdeleted_atの時間の型と、structの時間の型が違うことが原因。
型をあわせる処理をmysql側でするか、golang側でする必要があるが、とりあえずmysql側でするには?parseTime=trueをつければいいらしい。