1
私はテーブルにユーザーデータがあり、辞書のリストを使って多くのユーザーの情報を更新したいと思います。現時点では、forループを使用して一度に1つの辞書を更新ステートメントに送信していますが、それは遅く、これを行うための一括メソッドがあることを望んでいます。SQLAlchemy - 辞書のリストを使用してテーブルを更新する
user_data = [{'user_id' : '12345', 'user_name' : 'John'}, {'user_id' : '11223', 'user_name' : 'Andy'}]
connection = engine.connect()
metadata = MetaData()
for row in user_data:
stmt = update(users_table).where(users_table.columns.user_id == row['user_id'])
results = connection.execute(stmt, row)
ありがとうございます!
希望すると、これが役に立ちます。 – Gigapalmer
ありがとう!この例では、 'id'を 'user_id'に、 '_id'を 'user_id'に変更する必要がありますか? StatementError :(sqlalchemy.exc.InvalidRequestError)バインドパラメータ '_id'に値が必要です – Venetian
@(バインドパラメータ' _id ')は、ヴェネツィア使用しているデータベースによっては、パフォーマンスが大幅に向上することはありません。たとえば、[この質問](http://stackoverflow.com/questions/8134602/psycopg2-insert-multiple-rows-with-one-query)(PostgreSQL)を参照してください。 – univerio