Postgresql golang reflect for sql扫描报告错误
数据库模式和数据显示在注释中 查询命令是: 选择id、编号、标识、名称、标题、电子邮件、站点、创建时间、城市id、更新时间、时区,从电子邮件地址所在的用户fixopen@yeah.net'限制1偏移0 与comment相同,此命令使用psql执行,返回一行数据 sql扫描方法执行错误,输出: 选择一个错误为sql:Scan error on column index 4:不支持的驱动程序->扫描对:[]uint8->*url.url 我的golang版本是go版本go1.5.2 darwin/amd64 PostgreSQL版本是9.4.2 使用github.com/lib/pq访问数据库 是db驱动程序不支持将字符串列扫描到url.url吗 我能做什么?url.url未实现,因此无法从数据库中扫描它。您可以创建实现sql的包装器类型。扫描仪: 或者将URL单独扫描为字符串,然后对其进行解析:Postgresql golang reflect for sql扫描报告错误,postgresql,reflection,go,Postgresql,Reflection,Go,数据库模式和数据显示在注释中 查询命令是: 选择id、编号、标识、名称、标题、电子邮件、站点、创建时间、城市id、更新时间、时区,从电子邮件地址所在的用户fixopen@yeah.net'限制1偏移0 与comment相同,此命令使用psql执行,返回一行数据 sql扫描方法执行错误,输出: 选择一个错误为sql:Scan error on column index 4:不支持的驱动程序->扫描对:[]uint8->*url.url 我的golang版本是go版本go1.5.2 darwin/a
type sqlURL struct { url.URL }
func (su *sqlURL) Scan(v interface{}) error {
u, err := url.Parse(string(v.([]byte)))
if err != nil {
return err
}
*su = sqlURL{*u}
return nil
}
type sqlURL struct { url.URL }
func (su *sqlURL) Scan(v interface{}) error {
u, err := url.Parse(string(v.([]byte)))
if err != nil {
return err
}
*su = sqlURL{*u}
return nil
}
var urlStr string
err = db.QueryRow(command).Scan(/* ... */, &urlStr)
// check err
u, err := url.Parse(urlStr)
// check err
user.Site = *u