首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何将以前的数据库与新版本数据库合并

如何将以前的数据库与新版本数据库合并
EN

Stack Overflow用户
提问于 2015-01-07 11:05:17
回答 2查看 1.5K关注 0票数 0

我在playstore上有一个应用程序,里面有一个数据库。

现在,在新的版本中,数据库被更改,一个新的表被输入。

目前,我正在使用sqlite工作室,并将数据库文件放入资产中,稍后将其复制为应用程序数据库。参见示例。

我必须删除以前的数据库来复制新的,或者如果我复制新的(覆盖),在这两种情况下,用户数据丢失。

也许我可以将一个新表附加到当前数据库中,但如果必须在以前的数据库中添加表中的列呢?

我该怎么处理?

编辑:如果我必须从数据库复制数据并重新插入,我如何才能知道数据库中当前存在的表和列。

请引导我..。

EN

回答 2

Stack Overflow用户

发布于 2015-01-07 11:09:27

将数据库中的所有数据导入ArrayList或其他任何东西(我建议使用Arraylist)并删除旧数据库,然后创建新数据库并将所有数据插入到New中。

这不是一种恰当的方法,而是一种节省时间的伎俩。

干杯

-Aman

票数 0
EN

Stack Overflow用户

发布于 2015-01-07 11:12:45

对于新表,只需在update方法中添加create

代码语言:javascript
运行
复制
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion){
    if(oldVersion < LastVersionWithoutTheTable && newVersion >= LastVersionWithoutTheTable){
        db.execSQL(CREATE_THE_TABLE);
    }
}

对于新列,请将所有数据复制到数组中,重新创建表并再次插入数据。

也许可以使用,但我从来没有在SQlite数据库上尝试过。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27818035

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档