2017-08-21 11 views
1

私はテーブルに2つの列を追加して削除する3つのテーブルを持っているプレイストアに1つのアプリケーションを作成しました。私がこれを行い、それをプレイストアに更新すると、既存のユーザーのdbに影響が出ますか、またはこれらの新しい変更を得るためにアプリケーションをアンインストールしたいのですか? ユーザーのデータに影響を与えずにテーブルを更新するのに使用できる良い方法があれば。sqlite dbのテーブルの既存の列を変更することは可能ですか

答えて

2

データベースをアップグレードする必要があるときに呼び出されonUpgrade

を使用する必要があります。実装 は、このメソッドを使用してテーブルを削除したり、テーブルを追加したり、何かを行う必要があります。 新しいスキーマバージョンにアップグレードする必要があります。 [SQLiteのに理解されるようにSQL - TABLEをALTER]

@Override 
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { 
     if (oldVersion < 3) { 
       db.execSQL("ALTER TABLE " + TABLE_NAME + " ADD COLUMN mobile_no INTEGER;"); 
       db.execSQL("ALTER TABLE " + TABLE_NAME + " ADD COLUMN phone_no INTEGER;"); 
     } 

    } 
+1

@Nidhunクマール私のリードを有することをお勧めしたい(https://sqlite.org/lang_altertable.html)で制限に関して。 – MikeT

関連する問題