0
、私は次のように?
を使用しようとしています「WITH」のために動作しません(私は、クエリを生成する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'を使用している場合、[the docs](https://godoc.org/github.com/lib/pq)には、@ Ainar- Gが提案した。 IOWでは、クエリプレースホルダの形式はドライバ固有であり、普遍的なものではありません。 – kostix