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

golang/pq pq: operator does not exist: bigint = text

query := "WITH b(ColA, ColB) AS (VALUES (,)) 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)

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

pq: operator does not exist: bigint = text

"ColC" 是 BIGINT 类型。

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

问题:https://github.com/lib/pq/issues/582

事实证明是 postgres 行为而不是驱动程序。 我必须使用显式转换才能使我的查询正常工作。