-1
postgresqlクエリを実行しようとしていますが、構文エラーが発生しています。クエリは次のとおりです。構文idx()でのエラーpostgreSQL
c.execute("CREATE TABLE smaller_coverage "
"AS (SELECT donor_id, block_id, "
" sorted_ids[(:idx(sorted_ids, block_id) - 1)]"
" AS smaller_ids "
" FROM plural_block INNER JOIN covered_blocks "
" USING (donor_id))")
エラーは:idxです。 誰かがコードを修正し、説明することもできますか? ありがとう
:idxはバインド変数でなければなりません。また、バインド変数は、このように見える関数またはファンクション名にはできません。あなたは何を達成しようとしていますか、なぜこの関数名は変わりますか? –
申し訳ありませんが、私はpostgresqlについて多くのアイデアを持っていません。 ':'が削除された場合、クエリは正常に実行されているようです。これが最終的な出力に何らかの問題を引き起こすでしょうか? –
:postgresqlではphpの "$"と似ています。これは変数のマーカーです。それを削除するということは、 "idx"という関数を実行していることを意味します。もしそのような関数が存在し、それを実行したいならば:を削除してください。 - 編集:後世のために、私は以下のことについての説明があることを知っています:大過剰な単純化です。 –