我正在处理一些旨在将mysql数据转储到.csv文件中的代码。我想传递一个命令行arg,该命令行允许用户输入为查询运行的ID,例如。去运行main.go 2会运行查询
for c in {a..z}; do u=$(echo ${c} | tr a-z A-Z); echo "fragment ${u}: '${c}' | '${u}';"; done
我知道Go具有os软件包,然后可以在其中传递类似以下内容的信息:
SELECT * FROM table where id = 2;
这是我当前正在使用的代码。如何为查询设置命令行参数?
args := os.Args
if len(args) < 2 {
fmt.Println("Supply ID")
os.Exit(1)
}
testID := os.Args[1]
fmt.Println(testID)
}
答案 0 :(得分:1)
只需将参数添加到Query
:
rows, _ := db.Query("SELECT * FROM table where id = ?;", os.Args[1])
答案 1 :(得分:-1)
testID必须是和interface {}类型并添加到查询
var testID interface{}
testID = os.Args[1]
并添加到查询
rows, _ := db.Query("SELECT * FROM table where id = ?;", testID)
编辑: 为什么要使用界面{}?
查询函数接受参数中的interface {}类型。 More info