It-Hugo0527

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

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

 

分类:

技术点:

相关文章:

  • 2021-11-29
  • 2021-11-29
  • 2021-09-27
  • 2021-12-15
  • 2022-01-17
  • 2022-12-23
  • 2021-11-29
  • 2022-12-23
猜你喜欢
  • 2021-08-22
  • 2021-12-19
  • 2021-11-29
  • 2021-11-29
  • 2021-11-29
  • 2021-11-29
  • 2021-10-23
相关资源
相似解决方案