У меня есть таблица с именем package_redeem и поле с именем expire_at с типом TIMESTAMP
Мой метод Go для получения значения выглядит следующим образом
// RetrieveRedeemRecord will Retrieve a RedeemCode Record by Code; R of CRUD
func RetrieveRedeemRecord(code string) (anyError error) {
var thisWorks mysql.NullTime
var thisOneNotWork sql.NullTime
stmtStr := `SELECT expire_at FROM package_redeem WHERE code=?`
anyError = dbhelper.GetDB().QueryRow(stmtStr, code).Scan(&thisOneNotWork)
switch anyError {
case nil:
case sql.ErrNoRows:
log.Println("no row found with ", code)
default:
log.Panic("errRow(s) ", anyError.Error())
}
return anyError
}
Странно, что использование типа sql.NullTimeбудет паниковать!
panic: errRow(s) sql: Scan error on column index 5, name "updated_at": unsupported Scan, storing driver.Value type []uint8 into type *time.Time [recovered]
panic: errRow(s) sql: Scan error on column index 5, name "updated_at": unsupported Scan, storing driver.Value type []uint8 into type *time.Time
Но использование типа mysql.NullTime будет работать, я думал, начиная с Go1.3, что mysql.NullTime это просто sql.NullTime.Я что-то здесь упускаю?