java - 我在 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);
}
解决方案
删除数据库表后,您将无法恢复数据。你应该用它ALTER TABLE
来更新表格
推荐阅读
- python - 使用Python搜索在线数据库并下载图片
- google-chrome - 什么是 deepminer.min.js 突然出现在网络应用程序中?
- javascript - NodeJS google-cloud/vision:方法不执行任何操作
- firebase - firebase云函数如何调用清理函数
- python - 如何将 mrjob EMR 指向正确的 AWS 账户?我不断收到 ssh 密钥无效消息
- python - 从对话框中获取统计信息
- spring - 使用 Spring Security 的非线性角色层次结构
- android - Android 应用程序使用情况 (usagestats) 不显示覆盖绘制应用程序的条目,如 Facebook Messagener 聊天头
- html - randomColor( ) 函数不产生随机颜色
- sql - 获取分组总计的标准差的 SQL 查询