我有一个数据库,用户可以在每个元组中更改一些值。我还希望能够添加新行并更新某些现有内容。我现在使用的代码不够好,因为它在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);
}
}
我的问题有解决方案吗?或者至少可以避免升级列,保留该列中的用户值?提前致谢
答案 0 :(得分:3)
在SQLite中,您可以使用ALTER表对其进行编辑。 (http://www.sqlite.org/lang_altertable.html)
正如您在链接中看到的,您可以添加和重命名列。
感觉就是你所需要的一切
答案 1 :(得分:0)
您可以使用触发器和可能的事务来执行此操作。而且你应该寻找SQL查询。