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)

上面的代码失败,并出现以下错误:
pq: operator does not exist: bigint = text

“ColC”的类型为BIGINT。

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

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

最佳答案

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

关于postgresql - golang/pq pq:运算子不存在:bigint =文字,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42831947/

10-15 19:40