SQL Alchemy:如何批量更新dicts列表中的值

时间:2016-04-15 00:21:49

标签: python sqlalchemy

我想更新一张表' Salary'其中有字段:

employeeId,
Salary

现在,我已经在python词典中更新了每个员工的值,例如:

[
{employeeId:1,Salary:10000},
{employeeId:2,Salary:15000}
]

我想知道是否有办法在单个SQL Alchemy更新查询中执行此更新,而不是逐个执行许多更新语句

1 个答案:

答案 0 :(得分:4)

我假设您已将表格映射为Salary,而 employeeId 是您的主键。所以,你所要做的就是使用相同的词:

[
  {employeeId:1,Salary:10000},
  {employeeId:2,Salary:15000}
]

并使用函数bulk_update_mappings

session.bulk_update_mappings(
                Salary,
                [{employeeId:1,Salary:10000},
                 {employeeId:2,Salary:15000}]
            )

在此函数中,主要ID必须位于dict中,因为这将是您的过滤器,其他键(列)将使用您在dict中定义的值进行更新。

PS:对不起我的英语。