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 类型。
根据我的调查,驱动程序将值作为文本而不是整数插入。
事实证明是 postgres 行为而不是驱动程序。
我必须使用显式转换才能使我的查询正常工作。
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 类型。
根据我的调查,驱动程序将值作为文本而不是整数插入。
事实证明是 postgres 行为而不是驱动程序。 我必须使用显式转换才能使我的查询正常工作。