我正在使用Go在PostgreSQL数据库上执行查询。请注意,在DB id
中输入bigint
。将字段与占位符进行比较 - PostgreSQL
db.Exec("UPDATE tags SET association_count = association_count - 1 WHERE id=?;", id)
当我运行这段代码,我得到一个SQL错误
operator does not exist: bigint =?
从我可以告诉这是由id
和?
之间的打字不匹配造成的。我已经尝试使用::
进行投射,但它会抛出一个错误,并且没有发现任何关于此的内容。有趣的是,如果有一个空格,如id = ?
,则会引发一般性语法错误。任何想法如何施展或解决这个问题?
这不是一个类型问题。问题是占位符没有被替换,或者'id'变量的值是'? ' –
问题可能是分号吗? –
@ClodoaldoNeto你的意思是'id'变量的值是'?'?像Postgres不知道它正在查看哪个'id'? – cfatt10