想要改进这个问题?更新问题,使其仅通过编辑这篇文章专注于一个问题。
在sqlite python中,如果未启用自动提交,则必须运行提交()
以确保执行SQL语句。自动提交是通过执行以下操作启用的sqlite3. connect('sqlitedb.db',isolation_level=无)
始终启用自动提交是一种好的做法吗?这是为了避免在忘记运行提交()
时可能发生的错误。
如果有的话,哪些情况下自动提交最好被禁用?
我正在使用sqlite3和python v3.6
如果多个操作在逻辑上属于一起,则应禁用自动提交,以确保不仅执行其中的一些操作(原子性)。
此外,如果出于性能原因在短时间内连续完成多个操作,则应禁用它。
对于从不同线程/进程并发访问的数据库,需要考虑额外的一致性,但Sqlite不太可能使用这种用法。