将golang切片直接插入postgres数组

我在将 slice 直接插入 postgres 数组时遇到问题,找不到简单的解决方案。


鉴于:


favorites := []int{1,2,3,4,5}

// need to 

_, err = db.Exec(fmt.Sprintf("UPDATE users SET favorites = '{%v}';", favorites))

因为输入是 '{[1,2,3,4,5]}' 而不是 '{1,2,3,4,5}' 我有一个错误。我正在使用默认 SQL 包和“github.com/lib/pq”postgres 驱动程序。


拉风的咖菲猫
浏览 116回答 1
1回答

慕仙森

您应该使用 pq.Array(favorites) 正确插入它。正如您在源代码中看到的就像:favorites := []int{1,2,3,4,5}query:= "UPDATE users SET favorites = $1;"_, err = db.Exec(query, pq.Array(favorites))
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go