始终在sqlite python中启用自动提交是一种好做法吗?

始终在sqlite python中启用自动提交是一种好做法吗?,python,python-3.x,sqlite,Python,Python 3.x,Sqlite,在sqlite python中,必须运行commit(),以确保在未启用自动提交的情况下执行SQL语句。自动提交是通过执行类似以下操作启用的sqlite3.connect('sqlitedb.db',isolation\u level=None) 始终启用自动提交是一种好的做法吗?这是为了避免忘记运行commit()时可能出现的错误 在哪些情况下(如果有),禁用自动提交会更好 我使用的是sqlite3和PythonV3.6,如果多个操作在逻辑上属于一个整体,则应禁用自动提交,以确保不仅仅执行其中

在sqlite python中,必须运行
commit()
,以确保在未启用自动提交的情况下执行SQL语句。自动提交是通过执行类似以下操作启用的
sqlite3.connect('sqlitedb.db',isolation\u level=None)

始终启用自动提交是一种好的做法吗?这是为了避免忘记运行
commit()
时可能出现的错误

在哪些情况下(如果有),禁用自动提交会更好


我使用的是sqlite3和PythonV3.6,如果多个操作在逻辑上属于一个整体,则应禁用自动提交,以确保不仅仅执行其中一些操作(原子性)

此外,如果出于性能原因在短时间内连续完成多个操作,则应禁用该功能


对于具有来自不同线程/进程的并发访问的数据库,还应考虑其他一致性问题,但这种用法不太可能用于Sqlite。

如果多个操作在逻辑上属于一个整体,则应禁用自动提交,以确保不只是执行其中一些操作(原子性)

此外,如果出于性能原因在短时间内连续完成多个操作,则应禁用该功能


对于从不同线程/进程并发访问的数据库,还需要考虑其他一致性问题,但这种用法不太可能用于Sqlite。

我可以问一下为什么投反对票吗?这个问题怎么了?很高兴知道这一点,以便我将来可以改进提问。通常,在与事务相关的环境中,您不应该使用启用自动提交,因为这会导致数据不一致。因此,为了数据一致性,始终禁用自动提交是最佳做法吗?为什么自动提交会导致数据不一致?我的缺点是原子性。我可以快速浏览一下吗?我可以问一下为什么投反对票吗?这个问题怎么了?很高兴知道这一点,以便我将来可以改进提问。通常,在与事务相关的环境中,您不应该使用启用自动提交,因为这会导致数据不一致。因此,为了数据一致性,始终禁用自动提交是最佳做法吗?为什么自动提交会导致数据不一致?我的缺点是原子性。快速通读