首页 > 解决方案 > 对具有多个约束的表执行 Sql Alchemy On_conflict_do_update

问题描述

有一张带有一个 PK 和一个 Unique Foreign Key 的表,我需要使用 SQLalchemy 的 On_conflict_Do_update 功能对其执行 upsert。

我可以通过以下查询使其与一个约束一起工作,但是,如果表具有多个唯一约束,我将无法做到这一点。

insert_stmt = insert Table.values()
stmt = insert_stmt.on_conflict_do_update(constraint='some_constraint'set_=dict()
execute(stmt)

有没有办法在这里添加多个约束名称。

标签: pythonpostgresqlsqlalchemy

解决方案


您不能使用constraint关键字执行此操作,但您可以使用index_elementsandindex_where来执行此操作。但这在很大程度上取决于您的底层 DDL。


推荐阅读