如何使用SQAlchemy更新多个SQL行

时间:2019-02-14 11:29:42

标签: python mysql sql pandas

我继承了一个python代码库,该代码库使用SQAlchemy处理MySQL数据库中的数据。由于该数据库结构已更改,因此我现在需要一个函数来更新值。此更新应保留外键和主键(在结构更改之前将其删除并重新插入)。

问题: 该表具有唯一的共同约束,我想保留主键。更新值时,出现“重复条目blabla ...” SQL错误。这不会发生,因为我更新了值。该怎么办?

这是我的代码:

   from sqlalchemy import update, bindparam
   df = pd.read_sql(query.statement, query.session.bind)
   new_df = df  # here i update values in the df
   bind_param_dict = {col : bindparam(col) for col in updateable_columns}
  update_statement = update(table).where(table.c.session==sessionid).values(**bind_param_dict)

    conn.execute(update_statement, new_df[updateable_columns].to_dict("records")

我希望熊猫能帮助我,但它似乎不支持更新(example here

有什么想法吗?我会误会更新语句的作用吗?

谢谢!

0 个答案:

没有答案