我继承了一个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)
有什么想法吗?我会误会更新语句的作用吗?
谢谢!