Python sqlalchemy批量保存一行对象错误

Python sqlalchemy批量保存一行对象错误,python,error-handling,sqlalchemy,bulkinsert,bulk-load,Python,Error Handling,Sqlalchemy,Bulkinsert,Bulk Load,如果我对一大组数据使用bulk_save_对象,它会在一行中出错。我使用的数据库是mysql。通常它不会插入任何内容 如果我希望它在出错后继续运行一行并插入所有其他行,该怎么办 try: session.bulk_save_objects(objects) except Exception as e: print(e) finally: session.commit() 因此,因为一个会话管理一个事务,事务必须是原子的,如果一行失败,它们都必须失败。根据实际错误是什么,

如果我对一大组数据使用bulk_save_对象,它会在一行中出错。我使用的数据库是mysql。通常它不会插入任何内容

如果我希望它在出错后继续运行一行并插入所有其他行,该怎么办

try:
    session.bulk_save_objects(objects)
except Exception as e:
    print(e)
finally:
    session.commit()

因此,因为一个
会话
管理一个
事务
,事务必须是
原子的
,如果一行失败,它们都必须失败。根据实际错误是什么,您可能希望使用数据库的“插入或忽略”或类似概念,但您没有提到您正在使用的数据库(以及您遇到的错误)。我使用的数据库是mysql。是的。我研究了insert ignore,如果存在重复密钥,这是一个有用的解决方案。但我只是在考虑一个用例,如果由于任何原因出现错误。例如,有一个数据不适合数据类型。这是工程师必须构建的吗?您可以使用保存点或“子事务”,但在某些情况下,这意味着您不能批量插入,但必须尝试分别插入每一行。