Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android SQLite在使用新版本更新后,我们可以使用旧版本吗?_Android_Sqlite - Fatal编程技术网

Android SQLite在使用新版本更新后,我们可以使用旧版本吗?

Android SQLite在使用新版本更新后,我们可以使用旧版本吗?,android,sqlite,Android,Sqlite,我有个问题。相关SQLite数据库 更新版本编号1至2后,我的数据库由onUpgrade()更新 1-我想知道,我是否可以使用旧数据库 和onUpgrade()我使用db.drop(“上一个表”) 2-因此,在删除该表之后,我是否可以从该表中获取数据 请详细解释 任何好的建议都会被接受 已编辑:-我们是否可以使用旧版本的数据库。否删除后,您无法从旧表中访问任何内容-删除表就像删除操作-您不应该轻松重新获得对它的访问权限。从我第一次从搜索引擎得到: 删除表将删除表定义及其所有属性 排 如果您仍然需

我有个问题。相关SQLite数据库

更新
版本
编号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命令添加或删除列,并将旧模式更改为新模式。通过改变桌子而不是吊针