So aktualisieren Sie eine SQLite-Datenbank und NICHT verlieren alle vorhandenen Daten?

Bin ich eine Tabelle hinzufügen meine app SQLite-DB. Alle meine syntax es ist in Ordnung, nicht das Problem. Aber ich habe einige Mühe, die neue Tabelle korrekt erstellt werden. Ich fügte hinzu, die neue Tabelle....

@Override
        public void onCreate(SQLiteDatabase db) {
            db.execSQL(DATABASE_CREATE);
            db.execSQL(CREATE_REQUESTS);
            db.execSQL(CREATE_OVERRIDE);
        }

Meinen auf create-Methode. Ich habe 3 Tabellen. Wenn ich aktualisiert, die Versionsnummer, bekam ich die Fehlermeldung "Tabelle Anfragen (in Bezug auf CREATE_REQUESTS) wurde bereits erstellt." Ein Blick auf meine onUpgrade-Methode...

@Override 
        public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
            db.execSQL("DROP TABLE IF EXISTS contacts");
            onCreate(db);
        }

Führte mich zu verstehen, dass die Linie db.execSQL("DROP TABLE IF EXISTS contacts") bezieht sich auf meine DATABASE_CREATE Tabelle in der onCreate-Methode wird verwendet, um drop die alte Tabelle, dann die nächste Zeile, onCreate(db); neu erstellt. Ich habe keine add-Anfragen in das execSQL-Linie, die ist, was den Fehler verursacht hat. Hier ist das Problem: ich würde lieber nicht verlieren, die Daten in den beiden Tabellen habe ich schon. Gibt es eine Möglichkeit um eine Tabelle hinzuzufügen, wie ich versuche zu tun, und nicht verlieren alle alten Daten? Danke.

InformationsquelleAutor JMRboosties | 2011-03-04
Schreibe einen Kommentar