嗨,我正在尝试通过下面的查询删除表中的所有行
db.beginTransaction(); // db is a SQLiteDatabase object int deleted = db.delete("user", null, null); db.endTransaction();
我正在表中删除n行。但是表中仍然存在行。我的删除通话有什么问题吗?
您需要先调用setTransactionSuccessful以将对数据库所做的所有更改提交给数据库,然后再调用endTransaction:
setTransactionSuccessful
endTransaction
db.beginTransaction(); int deleted = db.delete("user", null, null); db.setTransactionSuccessful(); db.endTransaction();
来源(Android开发人员参考):
如果任何事务未标记为干净而结束(通过调用setTransactionSuccessful),则更改将回滚。否则,他们将被提交。