我创建了一个在 Play 商店中运行的应用程序,它有 3 个表,我想为一个表再添加两列并从另一个表中删除一列。如果我这样做并将其更新到 PlayStore,它会吗对现有用户数据库造成任何影响,或者他们想要卸载应用程序以获取这些新更改? 有什么好的方法可以在不影响用户数据的情况下更新表。
最佳答案
你应该使用 onUpgrade
Called when the database needs to be upgraded. The implementation should use this method to drop tables, add tables, or do anything else it needs to upgrade to the new schema version.
示例
@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;");
}
}
关于android - 是否可以更改 sqlite db 表中的现有列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45790120/