Python3.6 + SQLAlchemy + PostgreSQL でいろいろ試しているところですが、IN句の与え方がよくわかりません。
パフォーマンスを考慮して、Session.execute() で生のSQL を実行する場合です。
Session = sessionmaker(bind=engine) session = new Session() param1 = 'data' count1 = session.execute('select count(*) from hogeMaster where key = :key', {"key": param1}).scalar() print('count=', count1)
これは正常に実行できます。
このとき、条件として、複数の値を配列で与えるとき、どのように指定すればいいのかがわかりません。
params = ['data','data2'] count2 = session.execute('select count(*) from hogeMaster where key in (:keys)', {"keys": params}).scalar()
とやってみましたが、
sqlalchemy.exc.ProgrammingError: (psycopg2.ProgrammingError) operator does not exist: text = text[]
とエラーが出てしまいました。
この場合、どのように指定するのが正しいのでしょうか。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/08/08 03:48
2018/08/08 04:19