Iphone sqlite3 alter命令删除我的数据库

Iphone sqlite3 alter命令删除我的数据库,iphone,database,ipad,sqlite,alter-table,Iphone,Database,Ipad,Sqlite,Alter Table,在我的应用程序开始时,我正在现有sqlite3数据库上运行sqlite3命令。 命令是这样的: sqlStmt = "ALTER TABLE projects ADD COLUMN guid integer DEFAULT 0"; if (sqlite3_prepare_v2(db, sqlStmt, -1, &compiledStmt, NULL) == SQLITE_OK){ sqlite3_step(compiledStmt); } 发生的情况是,我所有的数据都丢

在我的应用程序开始时,我正在现有sqlite3数据库上运行sqlite3命令。 命令是这样的:

    sqlStmt = "ALTER TABLE projects ADD COLUMN guid integer DEFAULT 0";
if (sqlite3_prepare_v2(db, sqlStmt, -1, &compiledStmt, NULL) == SQLITE_OK){
    sqlite3_step(compiledStmt);
}
发生的情况是,我所有的数据都丢失了,并且显示了一个“日志”文件(并且从未删除)。 我不知道该怎么做——我知道这与事务和锁定有关。
请提供帮助。

这是一种正常行为,因为Sqlite不支持复杂的操作。 请

所以,你所要做的就是:

  • 创建一个临时表
  • 把所有的数据都放进去
  • 删除初始表
  • 使用新字段创建一个表
  • 将数据从临时表发送到新表
  • 如果您需要更多帮助,请提供您的表格结构