茶匙; 博士我有一个users包含数组字段的 sql 表。我怎样才能将它扫描到 golang 中的变量?我的方法:var id intvar username stringvar activites []stringrow := db.QueryRow("SELECT id, username, activities FROM users WHERE id = 1")err := row.Scan(&id, &username, &activites)适用于 id、用户名。
1 回答
动漫人物
TA贡献1815条经验 获得超10个赞
可以使用StringArray方法或更灵活的Array方法(因为它接受接口作为参数)来完成,这两种方法都可以在包中找到"github.com/lib/pq"。
顺便说一句,使用准备好的语句也是一个好习惯。
完整示例:
var id int
var username string
var activities []string
sqlStatement := `
SELECT
id,
username,
activities
FROM
users
WHERE
id = $1
`
stmt, err := db.Prepare(sqlStatement)
if err != nil {
// handle err
}
defer stmt.Close()
row := stmt.QueryRow(1)
err = row.Scan(
&id,
&username,
pq.Array(&activities) // used here
)
if err == sql.ErrNoRows {
// handle err
}
if err != nil {
// handle err
}
- 1 回答
- 0 关注
- 103 浏览
添加回答
举报
0/150
提交
取消