SQLite可以在使用新版本更新后使用旧版本吗?

时间:2013-01-18 04:09:56

标签: android sqlite

我有一个问题。发布了SQLite数据库。

version号码1更新为2后,我的数据库由onUpgrade()更新。

  

1 - 我想知道,我可以使用旧的数据库。

onUpgrade()我使用db.drop("previous table");

  

2 - 所以在删除该表后我可以从中获取数据。

请详细说明。

任何好的建议都会被接受。

编辑: - 我们是否可以使用数据库的旧版本。

3 个答案:

答案 0 :(得分:1)

在删除后,你无法访问旧表中的任何内容 - 删除表就像删除操作一样 - 你不应该轻易重新获得对它的访问权限。从我从搜索引擎获得的第一个link开始:

  

删除表将删除表定义及其所有内容   行。

如果您仍然需要以前的数据,我建议您仍然使用该数据库,直到您觉得不再需要它为止。 This所以回答有关如何正确升级表格的详细信息。需要注意的一件有趣的事情是,如果您决定使用ALTER TABLE

  

SQLTER在ALTER TABLE命令中有限,它允许添加和重命名   只有删除/删除,这是通过重新创建表来完成的。

所以有多种方法可以解决这个问题 - ALTER TABLE很好,如果你有一件小事要改变,你不必破坏一切,但如果你需要至少一个列/行删除你我想要按照答案并创建临时表。

答案 1 :(得分:1)

如果要继续使用该表的数据,请不要删除它。请改用ALTER TABLE语句添加新字段。

答案 2 :(得分:1)

没有。您需要做的是获取数据的副本(在内存或其他数据库中),重新创建数据库,然后回写数据。

当然,这只是在您需要为升级过程删除一个或多个表时。对于添加新列等简单情况,无需删除/重新创建表;因此简化了这个过程。