go语言数据库操作中db.queryrow(sql).scan函数能否将结果集扫描到map中?
在go语言中使用数据库时,经常会遇到需要将查询结果映射到结构体或map的情况。本文将探讨db.queryrow(sql).scan函数能否直接将查询结果扫描到一个map中,并分析代码示例中出现的问题及解决方法。
问题代码尝试将db.queryrow的结果扫描到一个map[string]*interface{}类型的变量res中。代码片段如下:
func selectone(id int) { res := map[string]*interface{}{"id": nil, "name": nil, "password": nil, "add_time": nil} fmt.println(res) sql := "select * from test where id = ?" err := db.queryrow(sql, id).scan(res["id"], res["name"], res["password"], res["add_time"]) if err != nil { fmt.println("获取数据失败:", err.error()) } else { fmt.println(res) }}
登录后复制
本文来自互联网或AI生成,不代表软件指南立场。本站不负任何法律责任。