【发布时间】:2015-03-05 06:19:46
【问题描述】:
我在 Playstore 上有一个包含数据库的应用程序。
现在在新版本中,更改了数据库,输入了一个新表。
目前我正在使用sqlite studio 并将数据库文件放在资产中,然后将其复制为应用程序数据库。请参阅this 示例。
我必须删除以前的数据库来复制新的,或者如果我复制新的(覆盖),在这两种情况下用户数据都会丢失。
也许我可以将一个新表附加到当前数据库,但是如果我必须在以前数据库的表中添加一列呢???
我该怎么处理这个???
编辑:如果我必须从数据库中复制数据并重新插入,我如何知道我的数据库中当前存在的表和列。
请指导我...
【问题讨论】:
-
创建备份先,删除旧数据库,创建新数据库并将备份数据从旧数据库复制到新数据库(前提是你知道每个内容需要在哪里放置到哪个表)。
-
@BuhakeSindi 如果我必须从数据库中复制数据并重新插入,我如何知道我的数据库中当前存在的表和列。
-
将每个表备份到一个文件中,这样您就知道哪个备份文件映射到哪个表。
-
您可以使用最新的 SQLiteStudio 并进行您通常所做的所有更改,然后打开“DDL 历史记录”窗口 - 您将看到更改数据库所需执行的所有查询,就像SQLiteStudio 做到了。然后,您可以使用这些查询从您的应用程序级别更新用户端的数据库。
标签: java android mysql database sqlite