[英]How to upgrade sqlite database?
我的应用程序中有一个sqLite数据库,可存储高分。 我最近添加了一个新列(级别),并且需要升级数据库,否则应用程序将崩溃。 如果我手动删除.db文件,效果很好。 我试图增加数据库版本,但是没有用。 那怎么办呢?
这是我的sqlite助手类:
public class DataBaseHelper extends SQLiteOpenHelper{
public static final String TABLE_HISCORES = "hiScores";
static final String RANK = "_id";
static final String NAME = "name";
static final String SCORE = "score";
static final String LEVEL = "level";
private static final String DATABASE_NAME = "scoresdb.db";
private static final int DATABASE_VERSION = 1;
SQLiteDatabase db;
private static final String DATABASE_CREATE = "CREATE TABLE " + TABLE_HISCORES + " ("
+ RANK + " INTEGER PRIMARY KEY AUTOINCREMENT, "
+ NAME + " TEXT, "
+ LEVEL + " TEXT, "
+ SCORE + " INTEGER );";
public DataBaseHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase database) {
database.execSQL(DATABASE_CREATE);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// TODO Auto-generated method stub
Log.w(DataBaseHelper.class.getName(),
"Upgrading database from version " + oldVersion + " to "
+ newVersion + ", which will destroy all old data");
db.execSQL("DROP TABLE IF EXISTS " + TABLE_HISCORES);
onCreate(db);
}
}
添加/更改需要什么?
您可以在SQLite查询浏览器( http://sourceforge.net/projects/sqlitebrowser/ )中打开SqLite数据库,并在其中添加列。 在添加了列之后,您可以将项目中正在使用的.db文件替换为添加了新列的文件。
希望能帮助到你!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.