Postgresql golang/pq pq:运算符不存在:bigint=text

Postgresql golang/pq pq:运算符不存在:bigint=text,postgresql,go,pq,Postgresql,Go,Pq,上述代码失败,出现以下错误: query := "WITH b(ColA, ColB) AS (VALUES ($1,$2)) UPDATE schema_name.table_name AS a SET ColC = b.ColB FROM b WHERE a.ColA = b.ColA AND a.ColB = b.ColB" res, err := db.Exec(query, 1, 1) “ColC”属于BIGINT类型 根据我的调查,驱动程序将值作为文本而不是整数插入 问题:结果是p

上述代码失败,出现以下错误:

query := "WITH b(ColA, ColB) AS (VALUES ($1,$2)) UPDATE schema_name.table_name AS a SET ColC = b.ColB FROM b WHERE a.ColA = b.ColA AND a.ColB = b.ColB"
res, err := db.Exec(query, 1, 1)
“ColC”属于BIGINT类型

根据我的调查,驱动程序将值作为文本而不是整数插入


问题:

结果是postgres的行为,而不是驱动因素。
我必须使用显式类型转换才能使查询正常工作。

b.ColA和b.ColB都是bigint?是否尝试添加显式类型转换?e、 g.
query:=“b(ColA,ColB)作为(值($1::bigint,$2::bigint))将schema_name.table_name作为集合ColC=b.ColB,其中a.ColA=b.ColA和a.ColB=b.ColB”res,err:=db.Exec(query,1,1)
Yes显式强制转换有效,但无法实现驱动程序推断参数类型并写入DB的目的accordingly@VaoTsunb是一个用输入值构建的临时表,这些值是整数。为了确保这一点,从b中填充
选择pg_typeof(b.ColA),pg_typeof(b.ColB)的结果
pq: operator does not exist: bigint = text