2011-03-07 68 views
0

在我的应用程序的begininng中,我正在现有的sqlite3数据库上运行sqlite3命令。 命令是这样说:sqlite3 alter命令删除我的分区

sqlStmt = "ALTER TABLE projects ADD COLUMN guid integer DEFAULT 0"; 
if (sqlite3_prepare_v2(db, sqlStmt, -1, &compiledStmt, NULL) == SQLITE_OK){ 
    sqlite3_step(compiledStmt); 
} 

发生的事情是,我的所有数据都将丢失,以及“日记”文件显示(永不删除)。 我不知道该怎么办 - 我明白这与交易和锁定有关。 请帮忙。

回答

0

这是一个正常的行为,因为Sqlite不支持复杂的操作。 请refer to the documentation.

所以,你需要做的是:

  1. 创建临时表。
  2. 将其中的所有数据。
  3. 删除初始表。
  4. 使用新字段创建表格。
  5. 从临时表发送数据到新表

如果你想要更多的帮助,给我们你的表结构。

+0

我现在明白了。谢谢! – 2011-03-08 04:05:57