我有一个数据库,用户可以在其中更改每个元组中的几个值。我也希望能够添加新行并更新一些现有行的内容。我现在使用的代码不够好,因为它的的onUpdate()如何更新保存用户数据的数据库
private static class DatabaseHelper extends SQLiteOpenHelper {
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
Log.w("dB update", "Upgrading database from version " + oldVersion + " to " + newVersion + ", which will destroy all old data");
db.execSQL("DROP TABLE IF EXISTS " + MetaData.TABLE);
onCreate(db);
}
}
创建一个新的数据库有没有我的问题的解决方案?或者至少可以避免升级列,保留该列中的用户值?在此先感谢
ALTER TABLE是非常有用的添加列,但如果我想添加什么行和修改某些单元格的值(再次,不删除用户数据)? – Mangusto 2013-03-24 21:34:01
如果您想要重命名或删除列名,那么您将不得不暂时查看表,将其所有数据存储到给定类型的Array对象中,删除当前表并添加一个新列名。在适当的实施中,你不应该经常需要它。 如果您需要添加新行,只需使用正确的方法从类SQLiteDatabase插入和更新该目标。 – 2013-03-24 22:40:32
感谢您的建议,我可能会使用您的建议或与多个表一起工作。 – Mangusto 2013-03-25 19:16:13