Android SQLite在使用新版本更新后,我们可以使用旧版本吗?
我有个问题。相关SQLite数据库 更新Android SQLite在使用新版本更新后,我们可以使用旧版本吗?,android,sqlite,Android,Sqlite,我有个问题。相关SQLite数据库 更新版本编号1至2后,我的数据库由onUpgrade()更新 1-我想知道,我是否可以使用旧数据库 和onUpgrade()我使用db.drop(“上一个表”) 2-因此,在删除该表之后,我是否可以从该表中获取数据 请详细解释 任何好的建议都会被接受 已编辑:-我们是否可以使用旧版本的数据库。否删除后,您无法从旧表中访问任何内容-删除表就像删除操作-您不应该轻松重新获得对它的访问权限。从我第一次从搜索引擎得到: 删除表将删除表定义及其所有属性 排 如果您仍然需
版本
编号1至2后,我的数据库由onUpgrade()
更新
1-我想知道,我是否可以使用旧数据库
和onUpgrade()
我使用db.drop(“上一个表”)代码>
2-因此,在删除该表之后,我是否可以从该表中获取数据
请详细解释
任何好的建议都会被接受
已编辑:-我们是否可以使用旧版本的数据库。否删除后,您无法从旧表中访问任何内容-删除表就像删除操作-您不应该轻松重新获得对它的访问权限。从我第一次从搜索引擎得到:
删除表将删除表定义及其所有属性
排
如果您仍然需要以前的数据,我建议您继续使用该数据库,并且在您觉得不再需要它之前不要删除它。所以答案是关于如何正确升级表的很多细节。值得注意的一点是,如果您决定使用:
SQLite在ALTER TABLE命令上受限制,它允许添加和重命名
仅否通过重新创建桌子来移除/放下
所以有多种方法可以使用它-altertable
很好如果你有一件小事情要改变,你不必破坏一切,但是,如果您至少需要删除一列/行,您需要按照答案创建临时表。否删除后您无法从旧表中访问任何内容-删除表就像删除操作一样-您不应该轻松重新获得对它的访问权。从我第一次从搜索引擎得到:
删除表将删除表定义及其所有属性
排
如果您仍然需要以前的数据,我建议您继续使用该数据库,并且在您觉得不再需要它之前不要删除它。所以答案是关于如何正确升级表的很多细节。值得注意的一点是,如果您决定使用:
SQLite在ALTER TABLE命令上受限制,它允许添加和重命名
仅否通过重新创建桌子来移除/放下
因此,有多种方法可以使用此-ALTER TABLE
如果您有一件小事情要更改,您不必销毁所有内容,但是如果您需要删除至少一列/行,您需要按照答案创建临时表。如果您想继续使用该表的数据,请不要删除它。使用ALTER TABLE语句来添加新字段。如果要继续使用该表的数据,请不要删除它。使用ALTER TABLE语句来添加新字段。否。您需要做的是复制数据(在内存或其他数据库中),重新创建数据库,然后写回数据
当然,只有在升级过程中需要删除一个或多个表时,才会执行此操作。对于添加新列等简单情况,无需删除/重新创建表;因此简化了过程。不。您需要做的是复制数据(在内存或其他数据库中),重新创建数据库,然后写回数据
当然,只有在升级过程中需要删除一个或多个表时,才会执行此操作。对于添加新列等简单情况,无需删除/重新创建表;因此简化了过程。如果我更改了数据库的版本,它将丢失数据,或者它将拥有OK A-C另一件事,即创建表的正确位置。@Cobra如果升级版本号,它将调用onUpgrade()
,因此如果您删除,您将无法访问数据,但是如果您更改,您仍然可以访问数据。所以这个问题涉及很多细节。编辑:什么是创建表格的正确位置?您的数据库助手类有一些明确定义的方法。@Cobra没问题。我建议你按照我所链接的答案来做——这比我能给出的答案更详细。A-C你能解释一下吗。我能不能得到旧版本的数据库……假设我有upgrade1和upgrade1(新版本数据库)…所以我可以使用upgrade1或不使用upgrade1。如果我更改该数据库的版本,它将丢失数据,或者它将拥有OK A-C一件事创建表的正确位置。@Cobra如果您升级版本号,它将调用onUpgrade()
,因此如果您删除,您将无法访问数据,但是如果您更改,您仍然可以访问数据。所以这个问题涉及很多细节。编辑:什么是创建表格的正确位置?您的数据库助手类有一些明确定义的方法。@Cobra没问题。我建议你按照我所链接的答案来做——这比我能给出的答案更详细。A-C你能解释一下吗。我能不能得到旧版本的数据库……假设我有upgrade1和upgrade1(新版本数据库)…所以我可以使用upgrade1,也可以不使用。Gabe..我想知道什么是创建表的正确位置,以及为什么只有这个位置..请解释并编辑您的ans。如果您使用的是SQLiteOpenHelper,请在onCreate中创建表。在onUpdate中,应该使用ALTERTABLE命令添加或删除列,并将旧模式更改为新模式。通过更改表而不是删除表,您可以将所有旧数据保留在其中。Gabe..我想知道创建表的正确位置是什么,以及为什么只有这个位置..请解释并编辑您的ans。如果您使用的是SQLiteOpenHelper,请在onCreate中创建表。在onUpdate中,应该使用ALTERTABLE命令添加或删除列,并将旧模式更改为新模式。通过改变桌子而不是吊针