dml.py 文件源码

python
阅读 23 收藏 0 点赞 0 评论 0

项目:pgawedge 作者: portfoliome 项目源码 文件源码
def upsert_primary_key_statement(table: Table):
    """Insert data when primary key doesn't exist, else update."""

    ins = insert(table)
    constraint = table.primary_key.columns.keys()
    non_pkey_columns = set(
        c.name for c in table.columns.values() if c.primary_key is False
    )

    if non_pkey_columns:
        exclude = {
            k: v for k, v in ins.excluded.items() if k in non_pkey_columns
        }

        statement = ins.on_conflict_do_update(
            index_elements=constraint, set_=exclude
        )
    else:
        statement = ins.on_conflict_do_nothing(index_elements=constraint)

    return statement
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号