Android 开发中 sqlite数据库升级时,如何增加新的表

2025-02-22 23:51:31
推荐回答(1个)
回答1:

//定义升级函数
private void upgradeDatabaseToVersion1(SQLiteDatabase db) {
// Add 'new' column to mytable table.
db.execSQL("ALTER TABLE mytable ADD COLUMN new TEXT");
}

//重写onUpgrade
public void onUpgrade(SQLiteDatabase db, int oldVersion, int currentVersion) {
Log.w(TAG, "Upgrading database from version " + oldVersion
+ " to " + currentVersion + ".");

switch (oldVersion) {
case 0:
if (currentVersion <= 1) {
return;
}

db.beginTransaction();
try {
upgradeDatabaseToVersion1(db);
db.setTransactionSuccessful();
} catch (Throwable ex) {
Log.e(TAG, ex.getMessage(), ex);
break;
} finally {
db.endTransaction();
}

return;
}