0
我想通过以下方式使用?
(我用它在Golang生成查询,但现在看来似乎不是去依赖):PostgreSQL“?”参数占位符不适合工作“和”
WITH Tmp(name, enabled) AS (
VALUES(?, ?),(?, ?)
)
UPDATE table_groups
SET enabled = (SELECT enabled
FROM Tmp
WHERE table_groups.name=Tmp.name)
WHERE table_groups.name IN (SELECT name FROM Tmp)
越来越:
syntax error at or near ","
如果我用具体的值上面的语句代替?
,一切工作正常。使用?
与WITH
有什么问题,我将如何解决它?谢谢。
无关:你不需要标量子查询。 – wildplasser
我认为Postgres只适用于编号占位符,即'$ 1'。 –
你用什么驱动程序包来使用pgsql?你知道,Go不包括其标准库中的任何RDBMS的驱动程序,所以必须告诉我们你在做什么。如果您使用'github.com/lib/pq',[文档](https://godoc.org/github.com/lib/pq)只提及'$ n''样式的参数,如@ Ainar- G建议。 IOW,查询占位符的格式是特定于驱动程序的,而不是通用的。 – kostix