SQLite3,“ALTER TABLE”和持久性

时间:2010-03-20 23:53:55

标签: sql sqlite alter-table

我想在sqlite3数据库上运行一些 ALTER TABLE 语句。如果用户在ALTER TABLE运行时终止进程或切断电源会发生什么?数据库是否会处于腐败的中间状态?

1 个答案:

答案 0 :(得分:2)

从文档中的transactional页面:

  

单一内的所有变更   SQLite中的事务发生   完全与否,即使是   将改变写出来的行为   

中断磁盘
* a program crash,
* an operating system crash, or
* a power failure.

来自another page in the documentation

  

任何更改数据库的命令   (基本上,除了以外的任何SQL命令   SELECT)会自动启动一个   交易,如果还没有   影响。自动启动   事务是在提交时提交的   最后一个查询完成。

结合这些,答案是否定的。电源故障期间,您的数据库不会被破坏。