gpt4 book ai didi

Android SQLiteOpenHelper onUpdate 不会删除包含行的表

转载 作者:行者123 更新时间:2023-11-29 21:09:06 25 4
gpt4 key购买 nike

我试图在升级时删除我的表,它会删除空表,但如果表中有行 - 它不会被删除。

我尝试了以下代码来首先清理表格:

@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);
}

但是,该表仍然没有删除 - 它会导致我发布新版本的应用程序时出现问题,因为我的数据库已更改

最佳答案

String dropQuery = "Drop Table " + EventsTable.TABLE_NAME + ";";
dropQuery += " Drop Table " + UsersTable.TABLE_NAME + ";";

您正在尝试执行多个 SQL 语句,这在 sqlite 中是不允许的。我建议你分别执行两个drop table sql语句。

String dropQuery = "Drop Table " + EventsTable.TABLE_NAME + ";";
db.execSQL(dropQuery);
dropQuery = " Drop Table " + UsersTable.TABLE_NAME + ";";
db.execSQL(dropQuery);

关于Android SQLiteOpenHelper onUpdate 不会删除包含行的表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23512161/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com