我想在sqlite3数据库上运行一些 ALTER TABLE 语句。如果用户在ALTER TABLE运行时终止进程或切断电源会发生什么?数据库是否会处于腐败的中间状态?
答案 0 :(得分:2)
从文档中的transactional页面:
单一内的所有变更 SQLite中的事务发生 完全与否,即使是 将改变写出来的行为
中断磁盘* a program crash, * an operating system crash, or * a power failure.
来自another page in the documentation:
任何更改数据库的命令 (基本上,除了以外的任何SQL命令 SELECT)会自动启动一个 交易,如果还没有 影响。自动启动 事务是在提交时提交的 最后一个查询完成。
结合这些,答案是否定的。电源故障期间,您的数据库不会被破坏。