登录
首页 >  Golang >  Go问答

go语言如何把mysql查询的数据保存到结构体或者map啊?

来源:SegmentFault

时间:2023-01-28 20:29:15 489浏览 收藏

本篇文章向大家介绍《go语言如何把mysql查询的数据保存到结构体或者map啊?》,主要包括MySQL、map、go,具有一定的参考价值,需要的朋友可以参考一下。

问题内容

我用的

github.com/go-sql-driver/mysql
这个驱动,我像下面这样写没有报错,但是里面的数据为空或者0

type data struct {
    id int
    name string
    weight int
}
rows, _ := db.Query("select * from test where id = ?", 2)
for rows.Next() {
    line := data{}
    err = rows.Scan(&line)
    log.Println(line)
}

运行结果

2017/07/17 13:37:50 {0  0}

存到map的代码

    rows, _ := db.Query("select * from test where id = ?", 2)
    columns, _ := rows.Columns()
    length := len(columns)
    for rows.Next() {
        value := make([]interface{}, length)
        columnPointers := make([]interface{}, length)
        for i:=0;i

有效果,但是看不懂为何要这样写

正确答案

你的应该报错了,你把

err
打出来看

就你的代码,你不能这么

scan
, 你应该
rows.Scan(&line.id, &line.name, &line.weight)

PS: 不想用ORM的话,你可以用 https://github.com/jmoiron/sqlx 这个包来简化一些操作。

今天带大家了解了MySQL、map、go的相关知识,希望对你有所帮助;关于Golang的技术知识我们会一点点深入介绍,欢迎大家关注golang学习网公众号,一起学习编程~

声明:本文转载于:SegmentFault 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>
评论列表