茶匙; 博士我有一個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 關注
- 138 瀏覽
添加回答
舉報
0/150
提交
取消