Flask-SQLAlchemy 批量插入 commit时候出错 却有部分数据插入部分未插入 rollback无效?

代码如下:

        try:
            db.session.add_all(tasks)
            db.session.commit()
        except Exception as e:
            db.session.rollback()
            raise

通过debug可以看到执行到了commit,在其中抛出了错误,但是此时部分数据已经插入到数据库
然后执行到了 rollback

最终造成数据部分成功插入部分失败~~
想要的结果就是要么全成功,要么全失败
请教如何解决这种问题?

阅读 2.6k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题