错误情况:
一直卡在execute,没有跑错,但也没有成功跑过去。
实例代码:
stmt = update(XXXTable).where(XXXTable.id == record['id']).values(update_value)
await async_session.execute(stmt)
原因:
个人推测是,插入的值(dict)其中的key和table的栏位字段不完全匹配。
解决方式:
将插入值的和表的字段匹配起来
# record是一个dict
update_cols = [c.name for c in XXXTable.__table__.c ]
update_value = {col_name: record[col_name] for col_name in df_insert.columns if col_name in update_cols}