Go, Golang : Go MySQL 的 fetchall?
我正在使用 go-mysql-driver 这个库,链接是 https://github.com/go-sql-driver/mysql
我想要在 Go 语言中实现类似于 Python 里的某些功能:
c = conn.cursor()
c.execute(sql)
result = c.fetchall()
for elem in result:
list.append(elem[i])
return list
我想到的唯一方法是:
result, err := conn.Exec(query)
// func (db *DB) Exec(query string, args ...interface{}) (Result, error)
我想要遍历 Exec 方法的结果,然后获取数据。
1 个回答
2
如果你想要获取结果,应该使用 Query()
而不是 Exec()
:
rows, err := db.Query("SELECT name FROM users WHERE age=?", age)
if err != nil {
log.Fatal(err)
}
defer rows.Close();
for rows.Next() {
var name string
if err := rows.Scan(&name); err != nil {
log.Fatal(err)
}
fmt.Printf("%s is %d\n", name, age)
}