我正在尝试在我的安卓应用程序上进行更新。我有一个构建数据库,如果首次安装应用程序,则会复制该数据库。假设用户可能在表中存储了一些值。
我想发布一个新的更新,我想在其中更改数据库以在差异表中添加更多列
例如,我有两个表,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
如何进行查询以同时更改两个表?
升级数据库的受支持方法是通过使用SQLiteOpenHelper的onUpgrade方法。 您不应该尝试直接通过自己的代码执行此操作。
请在此处查看我对类似问题的回答。 如果有帮助,请+1!
如何在我的安卓应用中创建数据库?
使用此代码。我希望这有帮助
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");
}
}