DefinitionArticle
sqlite-utils 中的每一个写入方法都会自动在其自身的事务中运行并提交,因此更改在方法调用结束的那一刻就已经保存到磁盘,无需显式调用 commit()。
4.0rc2 版本的文档澄清了 insert()、upsert()、update()、delete() 等写入方法都会各自立即提交自己的事务,只有在需要将多个写入操作分组或进行手动事务管理时,才需要用到显式的事务控制(db.atomic() 或 db.begin())。 ✦ AI 生成 · 平台预翻
Claude Fable · Simon Willison's Weblog · 2026-07-05 · English original →
这个库里所有会写入数据库的方法——insert()、upsert()、update()、delete()、delete_where()、transform()、create_table()、create_index()、enable_fts() 以及其他方法——都会在各自的事务中运行,并在返回之前提交该事务。你的更改在方法调用结束的那一刻就已经保存到磁盘上了。
Every method in this library that writes to the database - insert(), upsert(), update(), delete(), delete_where(), transform(), create_table(), create_index(), enable_fts() and the rest - runs inside its own transaction and commits it before returning. Your changes are saved to disk as soon as the method call finishes.阅读原文 ↗合理引用摘录 · 中文为平台译文