当前位置: 首页 > 面试题库 >

Android SQLite删除表未实际删除行

广亮
2023-03-14
问题内容

嗨,我正在尝试通过下面的查询删除表中的所有行

db.beginTransaction(); // db is a SQLiteDatabase object
int deleted = db.delete("user", null, null);
db.endTransaction();

我正在表中删除n行。但是表中仍然存在行。我的删除通话有什么问题吗?


问题答案:

您需要先调用setTransactionSuccessful以将对数据库所做的所有更改提交给数据库,然后再调用endTransaction

db.beginTransaction();
int deleted = db.delete("user", null, null);
db.setTransactionSuccessful();
db.endTransaction();

来源(Android开发人员参考):

如果任何事务未标记为干净而结束(通过调用setTransactionSuccessful),则更改将回滚。否则,他们将被提交。



 类似资料:
  • 主要内容:所需步骤,示例代码在本教程将演示如何在JDBC应用程序中删除一个数据库表。 在执行以下示例之前,请确保您已经准备好以下操作: 具有数据库管理员权限,以在给定模式中删除数据库表。 要执行以下示例,需要用实际用户名和密码替换这里用户名()和密码()。 MySQL或数据库已启动并运行。 注意:这是一个严肃的操作,必须在继续删除表之前作出明确的决定,因为删除表后,表中的所有内容都将丢失。 所需步骤 使用JDBC应用程序删除

  • 我是JSP的新手,我正在尝试创建一个web界面,用户可以在该界面中输入他们想要删除的信息,并且该信息将在数据库表中删除。 在这里,他们应该输入和,然后应该删除具有两个指定ID的任何数据。但是,它不是从表中删除的。我有个例外 数组索引越界 下面是我的代码:

  • 这操作用于删除指定模式中的所有表,参考以下操作: 可选择对应的模式,如下所示:

  • DROP TABLE命令用于删除表。 语法: 示例: 我们来举个例子来演示如何删除/丢弃一个表。 在这里作为演示将删除 表。 使用以下命令后: 现在名为“”的表。 您可以使用命令验证表是否被删除。 这里“”表已被删除; 不会在列系列列表中找到它。 输出结果如下 -

  • 在MariaDB中,语句用于从数据库中删除表。它将会永久删除表,不能恢复表结构和数据。 语法: 示例: 删除数据库中的表。参考以下语句 - 在执行删除语句后,可以验证表是否被删除成功。参考以下查询表的语句 - 完整的过程,如下所示 - 使用HeidiSQL来删除表 可以使用 HeidiSQL 工具删除表。选择想要删除的表,然后右键点击它。会看到这样的一个页面: 点击“删除”。它会产生一个弹出框,如

  • 主要内容:语法,实例SQLite 的 DROP TABLE 语句用来删除表定义及其所有相关数据、索引、触发器、约束和该表的权限规范。 使用此命令时要特别注意,因为一旦一个表被删除,表中所有信息也将永远丢失。 语法 DROP TABLE 语句的基本语法如下。您可以选择指定带有表名的数据库名称,如下所示: 实例 让我们先确认 COMPANY 表已经存在,然后我们将其从数据库中删除。 这意味着 COMPANY 表已存在数据