假如我们已经创建好了一个数据库,随着功能需求的增加,想在数据库中再添加一个表,如果直接在之前的代码中插入一个表,会发现创建表失败,这是因为该数据库已经存在。该如何解决呢?
1、卸载程序,重新编译安装。
这是一个最简单直接的方法,但是只是为了多一个表就如此“暴力”,显得十分极端,也不恰当。
2、升级数据库
修改代码
public class MyDatabaseHelper
extends SQLiteOpenHelper {
……
@Override
public void onUpgrade(SQLiteDatabase db,
int oldVersion,
int newVersion) {
db.execSQL("drop table if exists User"
);
db.execSQL("drop table if exists Category"
);
onCreate(db);
}
}
在Upgrade()方法中新增了drop语句,如果该表已经存在,则先删除该表再重新创建,如果该表不存在则直接创建
在MainActivity中只需要传入一个比之前的版本号更大的数字进去就可以了
转载于:https://www.cnblogs.com/It-Hugo0527/p/5821085.html
相关资源:Android之数据库—— 一个可配置的简易框架