0

ユーザーが各タプルのいくつかの値を変更できるデータベースがあります。また、新しい行を追加したり、既存の行のコンテンツを更新したりできるようにしたいと考えています。私が今使用しているコードは、onUpdate()で新しいデータベースを作成するため、十分ではありません。

private static class DatabaseHelper extends SQLiteOpenHelper {

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        Log.w("dB update", "Upgrading database from version " + oldVersion + " to " + newVersion + ", which will destroy all old data");
        db.execSQL("DROP TABLE IF EXISTS " + MetaData.TABLE);
        onCreate(db);
    }
}

私の問題の解決策はありますか?または、少なくとも列のアップグレードを回避し、その列のユーザー値を保持することは可能ですか?前もって感謝します

4

2 に答える 2

3

SQLiteでは、ALTERテーブルを使用して編集できます。(http://www.sqlite.org/lang_altertable.html

リンクからわかるように、列を追加したり名前を変更したりできます。

必要なのはそれだけだと感じてください

于 2013-03-24T15:12:23.327 に答える
0

これを行うには、トリガーとおそらくトランザクションを使用できます。また、SQLクエリを探す必要があります。

于 2013-03-24T15:05:34.120 に答える