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