0

Python の fdb ライブラリに準備済みステートメント パラメータとしてリストを追加することは可能ですか?

例:

cur = con.cursor()
list = [1,2,3]
cur.execute("""SELECT * FROM data d WHERE d.field IN ?""", (list,))

結果:

"Error while preparing SQL statement:")\nDatabaseError: (\'Error while preparing SQL      statement:\\n- SQLCODE: -104\\n- Dynamic SQL Error\\n- SQL error code = -104\\n- Token unknown - line 4, column 33\\n- ?\', -104, 335544569)\n'

既知の解決策はありますか? 前もって感謝します

4

4 に答える 4

1

リストは、パラメーター化されたクエリの値として使用できません。すべてのリスト項目に十分なプレースホルダーを使用するか、リストのリテラル値を使用してクエリを動的に作成することにより、リストを自分で作成する必要があります。

于 2013-09-14T07:56:48.090 に答える
0

このようにしてみてください。

cur.execute("""SELECT * FROM data d WHERE d.field IN %s """, (tuple(list), ))
于 2013-09-13T13:12:09.180 に答える