首页 > 解决方案 > 扫描mysql查询结果时出现不支持的扫描错误

问题描述

我的项目中有一个模型如下:

type MyModel struct {
    ID        int
    StartTime time.Time
    EndTime   time.Time
}

映射到mysql具有此定义的表:

create table my_database.my_table
(
        id int unsigned auto_increment primary key,
        start_time time,
        end_time time
)

这是表内的记录:

insert into my_database.my_table values (1, '06:30', '18:00');

我编写了一个 SQL 查询并尝试使用database/sql库获取记录:

query := `SELECT id, start_time, end_time FROM my_table`
rows, err := f.DBClient.Query(query)

defer rows.Close()

for rows.Next() {
    t := models.MyModel{}
    err = rows.Scan(
        &t.ID,
        &t.StartTime,
        &t.EndTime,
    )

我收到以下错误:

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

我更改了连接字符串并添加了parseTime=true,但仍然出现相同的错误。

标签: mysqlgotime

解决方案


推荐阅读