假如咱们已经建立好了一个数据库,随着功能需求的增长,想在数据库中再添加一个表,若是直接在以前的代码中插入一个表,会发现建立表失败,这是由于该数据库已经存在。该如何解决呢?数据库
一、卸载程序,从新编译安装。ide
这是一个最简单直接的方法,可是只是为了多一个表就如此“暴力”,显得十分极端,也不恰当。spa
二、升级数据库code
修改代码blog
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语句,若是该表已经存在,则先删除该表再从新建立,若是该表不存在则直接建立it
在MainActivity中只须要传入一个比以前的版本号更大的数字进去就能够了io