Hallo,
ich habe folgendes Problem und zwar, möchte ich neue Spalten hinzufügen, bei einer bestehende SQLite Tabelle.
Leider wird die Tabelle komplett gelöscht und neu erstellt, wenn das hier ausgeführt wird:
Wie könnte ich jetzt neue Spalten hinzufügen, ohne das etwas verloren geht?
Danke schon mal für die Hilfe.
Gruss
ich habe folgendes Problem und zwar, möchte ich neue Spalten hinzufügen, bei einer bestehende SQLite Tabelle.
Leider wird die Tabelle komplett gelöscht und neu erstellt, wenn das hier ausgeführt wird:
Code:
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
Log.d(TAG, String.format("SQLiteDatabase.onUpgrade(%d -> %d)", oldVersion, newVersion));
if (newVersion > oldVersion) {
db.execSQL("ALTER TABLE "+TestMemo1.TABLE+" ADD COLUMN "+TestMemo1.COLUMN_TEST1+" INTEGER DEFAULT 0");
db.execSQL("ALTER TABLE "+TestMemo1.TABLE+" ADD COLUMN "+TestMemo1.COLUMN_TEST2+" INTEGER DEFAULT 0");
db.execSQL("ALTER TABLE "+TestMemo1.TABLE+" ADD COLUMN "+TestMemo1.COLUMN_TEST3+" INTEGER DEFAULT 0");
db.execSQL("ALTER TABLE "+TestMemo1.TABLE+" ADD COLUMN "+TestMemo1.COLUMN_TEST4+" INTEGER DEFAULT 0");
db.execSQL("ALTER TABLE "+TestMemo1.TABLE+" ADD COLUMN "+TestMemo1.COLUMN_TEST5+" INTEGER DEFAULT 0");
db.execSQL("ALTER TABLE "+TestMemo1.TABLE+" ADD COLUMN "+TestMemo1.COLUMN_TEST6+" INTEGER DEFAULT 0");
db.execSQL("ALTER TABLE "+TestMemo1.TABLE+" ADD COLUMN "+TestMemo1.COLUMN_TEST7+" INTEGER DEFAULT 0");
}
db.execSQL("DROP TABLE IF EXISTS " + TestMemo1.TABLE);
db.execSQL("DROP TABLE IF EXISTS " + TestMemo2.TABLE);
db.execSQL("DROP TABLE IF EXISTS " + TestMemo3.TABLE);
onCreate(db);
}
Wie könnte ich jetzt neue Spalten hinzufügen, ohne das etwas verloren geht?
Danke schon mal für die Hilfe.
Gruss