私はpsycopg2(バージョン2.7.1)でpythonからpostgresを使用しようとしましたが、そうすることができませんでした。私がIN文のPython/psycopg2 SELECT WHERE内のエラー
dbase=# select * from table where id in (1,2,3,4,5,6,7);
に使用しようとしているので、しかし、パイソンとしようとしたとき、および関連の質問を検討した後、私は、この試みでコモをアップしました 私はテーブルから特定のIDを取得する必要があります。
私はこれしようとした場合:
query = '''
...: SELECT * FROM table WHERE id IN (1,2,3,4,5)
...: '''
を私が手:
In [71]: cursor.execute(query)
--------------------------------------------------------------------
InternalError Traceback (most recent call last)
<ipython-input-71-2e97bea5433e> in <module>()
----> 1 cursor.execute(query)
InternalError: current transaction is aborted, commands ignored until end of transaction block
代わりに私がIDの希望を維持するために変数を使用してみた場合:
In [87]: query = '''
...: SELECT * FROM table WHERE id IN %s
...: '''
In [88]: datos = "(1,2,3,4,5,6,7)"
In [89]: cursor.execute(query,(datos,))
--------------------------------------------------------------------
ProgrammingError Traceback (most recent call last)
<ipython-input-89-4be5e55885c7> in <module>()
----> 1 cursor.execute(query,(datos,))
ProgrammingError: syntax error at or near "'(1,2,3,4,5,6,7)'"
LINE 2: SELECT * FROM demanda WHERE id IN '(1,2,3,4,5,6,7)'
フォーマットされたクエリは思わ私が望むものに近づけるために、なぜ単一のアポストロフィが置かれているのか理解できません。なぜならpsqlは認識しないからですD彼らに
おかげ