我试图将我的表放在升级上,它会删除空表,但如果表中有行 - 它就不会被删除。
我已尝试使用以下代码首先清理表格:
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.delete(EventsTable.TABLE_NAME,null,null);
db.delete(UsersTable.TABLE_NAME,null,null);
//Create the drop query
String dropQuery = "Drop Table " + EventsTable.TABLE_NAME + ";";
dropQuery += " Drop Table " + UsersTable.TABLE_NAME + ";";
// Drop older tables if existed
db.execSQL(dropQuery);
// Create tables again
onCreate(db);
}
但是,表格仍然不会丢失 - 因为我的数据库发生了变化,因此发布我的应用程序的新版本会导致我的问题
答案 0 :(得分:2)
String dropQuery = "Drop Table " + EventsTable.TABLE_NAME + ";";
dropQuery += " Drop Table " + UsersTable.TABLE_NAME + ";";
您正在尝试执行sqlite中不允许的多个SQL语句。我建议你分别执行drop table sql语句。
String dropQuery = "Drop Table " + EventsTable.TABLE_NAME + ";";
db.execSQL(dropQuery);
dropQuery = " Drop Table " + UsersTable.TABLE_NAME + ";";
db.execSQL(dropQuery);