我有一个名为user_data
的表,列id
和user_id
作为唯一键。我想将一些历史数据导入到该表中。我使用bulk_insert_mappings方法批量插入数据。但是有如下错误:
IntegrityError:(pymysql.err.IntegrityError)(1062,你"复制条目' 1-1234'密钥' idx_on_id_and_user_id'")
如何在批量插入时忽略此错误并丢弃重复数据?
答案 0 :(得分:0)
你应该处理每一个错误。但如果你真的想忽略所有错误,你就不能真正进行批量插入。有时,您导入的实际数据中会存在完整性错误。你必须逐个插入并忽略。我只会在一次性脚本中使用它。
for item in dict_list:
try:
session.merge(orm(**item))
session.commit()
except Exception as e:
session.rollback()