【Android】数据库的简单应用——升级数据库

时间:2022-06-01 16:35:28

  假如我们已经创建好了一个数据库,随着功能需求的增加,想在数据库中再添加一个表,如果直接在之前的代码中插入一个表,会发现创建表失败,这是因为该数据库已经存在。该如何解决呢?

  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中只需要传入一个比之前的版本号更大的数字进去就可以了