【问题标题】:sqlite3 alter command delete my dbsqlite3 alter 命令删除我的数据库
【发布时间】:2011-03-07 22:04:14
【问题描述】:

在我的应用程序开始时,我在现有 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);
}

发生的情况是我的所有数据都丢失了,并且显示了一个“日志”文件(并且从未删除)。 我不知道该怎么做——我知道这与事务和锁定有关。 请帮忙。

【问题讨论】:

    标签: iphone database ipad sqlite alter-table


    【解决方案1】:

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

    所以,你所要做的就是:

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

    如果您需要更多帮助,请将您的表结构提供给我们。

    【讨论】:

      猜你喜欢
      • 2010-12-11
      • 2019-03-18
      • 2016-09-05
      • 1970-01-01
      • 2014-04-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多