我正在研究一些旨在将 mysql 数据转储到 .csv 文件的代码。我想传入一个命令行参数,允许用户输入为查询运行的 ID,例如。go run main.go 2 将运行查询SELECT * FROM table where id = 2;我知道 Go 有 os 包,然后我可以在其中传递以下内容: args := os.Args if len(args) < 2 { fmt.Println("Supply ID") os.Exit(1) } testID := os.Args[1] fmt.Println(testID)}这是我目前正在处理的代码。如何为查询设置命令行参数? rows, _ := db.Query("SELECT * FROM table where id = ?;") err := sqltocsv.WriteFile("table.csv",rows) if err != nil { panic(err) } columns, _ := rows.Columns() count := len(columns) values := make([]interface{}, count) valuePtrs := make([]interface{}, count) for rows.Next() { for i := range columns { valuePtrs[i] = &values[i] } rows.Scan(valuePtrs...) for i, col := range columns { val := values[i] b, ok := val.([]byte) var v interface{} if ok { v = string(b) } else { v = val } fmt.Println(col, v) } }}
2 回答

临摹微笑
TA贡献1982条经验 获得超2个赞
只需将您的参数添加到Query
:
rows, _ := db.Query("SELECT * FROM table where id = ?;", os.Args[1])
没有找到匹配的内容?试试慕课网站内搜索吧
- 2 回答
- 0 关注
- 170 浏览
添加回答
举报
0/150
提交
取消