@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
switch (oldVersion) {
case 1://这里的数值是上次的版本,也就是针对上次的版本,本次的版本要做哪些改变
db.execSQL("DROP TABLE IF EXISTS " + TableEvent.TABLE_NAME);
db.execSQL(TableEvent.CREATE_SQL);
default:
break;
}
}
2. 在之前基础上创建新的表
这种情况也比较简单,主要是新版比之前的版本创建新的表,而且这个表跟之前的表没有什么关系。这时同时也要在onCreate中加上执行创建的sql(针对新用户)。
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
switch (oldVersion) {
case 1://这里的数值是上次的版本,也就是针对上次的版本,本次的版本要做哪些改变
//这种情况需要同时在onCreate中加上执行新表的创建sql(针对新用户)
db.execSQL(xxxxx);
default:
break;
}
}
3. 在老表基础上新增字段
这种情况需要修改老的表新增字段
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

本文详细介绍了Android中SQLite数据库升级时的注意事项,包括在原有表上新增字段、创建新表、数据迁移等场景的处理方法。在`onUpgrade()`方法中,根据旧版本执行相应的SQL语句,确保数据安全。同时强调了跨级升级时的处理策略,以及如何在`onCreate()`中配合处理新用户的情况。

2243

被折叠的 条评论
为什么被折叠?



