首页 > 解决方案 > 我在 SQL 电子表格中保存旧数据时遇到问题

问题描述

我已经在应用商店发布了我的应用,数据库版本是8,但是有一个问题。数据库已经更新到版本10,并且已经添加了新的列,但是现在我无法恢复旧数据,这将对用户造成很大的伤害。所以我希望你有一个有用的解决方案,不删除以前的数据谢谢

公共类 DatabaseHelper 扩展 SQLiteOpenHelper {

private static final String DB_BALL = "ball.db";


public DatabaseHelper(@Nullable Context context) {
    super(context, DB_BALL, null, 10);
}

@Override
public void onCreate(SQLiteDatabase db) {
    db.execSQL("create table volleyball_db "+ "( id INTEGER PRIMARY KEY AUTOINCREMENT, team_a TEXT ,goals_a TEXT," +
            " team_b TEXT, goals_b TEXT, round TEXT, date_volleyball TEXT, clock_volleyball TEXT)");

    db.execSQL("create table basketball_db "+ "( id INTEGER PRIMARY KEY AUTOINCREMENT, team_a TEXT ,goals_a TEXT," +
            " team_b TEXT, goals_b TEXT, round TEXT, date_basketball TEXT,clock_basketball TEXT)");

    db.execSQL("create table football_db "+ "( id INTEGER PRIMARY KEY AUTOINCREMENT, team_a TEXT ,goals_a TEXT, card_red_a TEXT, card_yellow_a TEXT," +
            " team_b TEXT, goals_b TEXT , card_red_b TEXT, card_yellow_b TEXT, round TEXT, date_football TEXT)");

}

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

            db.execSQL("DROP TABLE IF EXISTS volleyball_db ");
            db.execSQL("DROP TABLE IF EXISTS basketball_db ");
            db.execSQL("DROP TABLE IF EXISTS football_db ");

    onCreate(db);
    }

标签: javaandroidandroid-studio

解决方案


删除数据库表后,您将无法恢复数据。你应该用它ALTER TABLE来更新表格


推荐阅读