数据库更新的时候需要保留用户原来的数据,可以采用下面的方法。
private String tableOrder = "orderinfo";
private String CREATE_TEMP_ORDER = "alter table "+tableOrder+" rename to _temp_order";
private String INSERT_DATA = "insert into "+tableOrder+" select *,'' from _temp_order";
private String DROP_ORDER = "drop table _temp_order";
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL(CREATE_Order_Table);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
switch (newVersion) {
case 2:
db.execSQL(CREATE_TEMP_ORDER);//创建临时的表格
db.execSQL(CREATE_Order_Table);//修改后的表格样式
db.execSQL(INSERT_DATA);//导入原来的数据到新创建的表格中
db.execSQL(DROP_ORDER);//删除临时表格
break;
}
}