2017-02-16 3 views
0

私はシーケンスがpostgres EX:seq_id_genに設定されています。このシーケンスを静的クエリに渡すと、文字列が渡され、評価されません。引用符を取り除く方法はありますか?誰もがこのクエリを動的に構築することなくこれを行う方法を知っていますか?質問文パラメータとしてpostgresシーケンスを渡す

私のSQLクエリが

INSERT into table (SELECT $1, $2, $3,$4) 

あなたはSQLを評価したい場合は私の関数の中で、私は何が起こることは、この文は

INSERT into table (SELECT 'currval(\'seq_id_gen\')' , param1, param2, param3) 
+0

ドライバとは何ですか?関数言語とは何ですか? –

+0

javacript、node backend using pg – clearner

+1

無関係ですが、なぜこの奇妙な挿入形式ですか?なぜあなたは ''テーブルの値(...)に挿入する 'を使用して "標準的な"方法を使用しないでください –

答えて

0

なっている

query(myquery, ['currval(\'seq_id_gen\')' , param1, param2, param3]); 

でこのクエリを呼び出していますですあなたのパラメータの1つにコードを追加するには、次のように動的SQLを使用する必要があります:

SQL injectionに脆弱になるので、このような構成でユーザーが生成した入力を使用できないようにしてください。

関連する問題