我正在尝试对我的Android应用进行更新。我有一个建筑数据库,如果首次安装该应用程序,则会复制该数据库。假设用户可能在表中存储了一些值。
我想发布一个新的更新,我想更改数据库以在diff表中添加更多列
E.g我有两个表,A和B我想在两者中添加一行xx。
如果我这样做
db.execSQL("ALTER TABLE TTFindings ADD COLUMN imagePath STRING");
db.execSQL("ALTER TABLE TTValues ADD COLUMN imagePath STRING");
我认为我们不能两次改变表格给出错误? Can't access Read only database
如何进行查询以更改两个表atonce?
答案 0 :(得分:0)
升级数据库的支持方式是使用SQLiteOpenHelper的onUpgrade方法。您不应该尝试直接通过自己的代码执行此操作。
请在此处查看我对类似问题的回复。如果有帮助,请+1!
答案 1 :(得分:0)
使用此代码。我希望这有帮助
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
if (newVersion > oldVersion)
{
db.execSQL("ALTER TABLE TTFindings ADD COLUMN imagePath STRING");
db.execSQL("ALTER TABLE TTValues ADD COLUMN imagePath STRING");
}
}