我有一个问题。发布了SQLite数据库。
将version
号码1更新为2后,我的数据库由onUpgrade()
更新。
1 - 我想知道,我可以使用旧的数据库。
和onUpgrade()
我使用db.drop("previous table");
2 - 所以在删除该表后我可以从中获取数据。
请详细说明。
任何好的建议都会被接受。
编辑: - 我们是否可以使用数据库的旧版本。
答案 0 :(得分:1)
在删除后,你无法访问旧表中的任何内容 - 删除表就像删除操作一样 - 你不应该轻易重新获得对它的访问权限。从我从搜索引擎获得的第一个link开始:
删除表将删除表定义及其所有内容 行。
如果您仍然需要以前的数据,我建议您仍然使用该数据库,直到您觉得不再需要它为止。 This所以回答有关如何正确升级表格的详细信息。需要注意的一件有趣的事情是,如果您决定使用ALTER TABLE
:
SQLTER在ALTER TABLE命令中有限,它允许添加和重命名 只有否删除/删除,这是通过重新创建表来完成的。
所以有多种方法可以解决这个问题 - ALTER TABLE
很好,如果你有一件小事要改变,你不必破坏一切,但如果你需要至少一个列/行删除你我想要按照答案并创建临时表。
答案 1 :(得分:1)
如果要继续使用该表的数据,请不要删除它。请改用ALTER TABLE语句添加新字段。
答案 2 :(得分:1)
没有。您需要做的是获取数据的副本(在内存或其他数据库中),重新创建数据库,然后回写数据。
当然,这只是在您需要为升级过程删除一个或多个表时。对于添加新列等简单情况,无需删除/重新创建表;因此简化了这个过程。