我有 postgresql db,我正在更新大约 100000 条记录。我使用 session.merge() 插入/更新每条记录,并在每 1000 条记录后进行一次提交。
i=0
for record in records:
i+=1
session.merge(record)
if i%1000 == 0:
session.commit()
这段代码工作正常。在我的数据库中,我有一个带有 UNIQUE 字段的表,并且我插入了一些重复的记录。发生这种情况时会引发错误,说明该字段不是唯一的。由于我一次插入 1000 条记录,回滚不会帮助我跳过这些记录。有什么办法可以跳过重复记录的 session.merge() (当然除了解析所有记录以找到重复记录)?