Я получаю эту ошибку и перепробовал все доступное в интернете и stackoverlow, чтобы решить эту проблему. Я пытаюсь выполнить запрос после подключения базы данных MySQL с помощью пакета sqlx и просмотреть результаты. Я попробовал решения, которыми поделились для похожих вопросов, но у меня ничего не получилось.
type Trip struct {
ID int `db:"id"`
Type int `db:"type"`
DID int `db:"did"`
DUID int `db:"duid"`
VID int `db:"vid"`
Sts string `db:"sts"`
AM int `db:"am"`
Sdate null.Time `db:"sdate"`
}
func GetTripByID(db sqlx.Queryer, id int) (*Trip, error) {
row := db.QueryRowx("select ID,Type,DID,DUID,VID,Sts,AM,Sdate from mytbl where ID=123", id)
var t Trip
err := row.StructScan(&t)
if err != nil {
fmt.Println("Error during struct scan")
return nil, err
}
return &t, nil
}
Точная ошибка, которую я получаю:
паника: sql: ошибка сканирования для индекса столбца 6, имя "sdate": null:
не могу отсканировать тип [] uint8 в ноль. Время: [50 48 49 56 45 49 50 45 48
55 32 48 50 58 48 56 58 53 49]
Синтаксис
, если запрос работает отлично, и я получаю результаты, когда запускаю его в рабочей среде sql. Я также попробовал ParseTime = true, как предлагается по одной из ссылок.