QLiteDatabase 的 delete 和 update 方法都是调用了一个私有的方法 executeSql 来执行 SQL 语句。这个方法会返回一个 SQLiteStatement 对象,它是一个预编译的 SQL 语句,可以提高执行效率。
SQLiteStatement 对象有一个方法 executeUpdateDelete ,它可以执行更新或删除操作,并返回受影响的行数。这个方法是通过调用 SQLite 的 C API sqlite3_changes 来实现的,它可以返回最近一次执行的 SQL 语句所影响的行数。最近一次执行的 SQL 语句所影响的行数是由 SQLite 的 C API sqlite3_changes 来提供的。这个函数可以返回最近一次调用 sqlite3_exec() 或 sqlite3_step() 所执行的 INSERT, UPDATE 或 DELETE 语句所影响的行数。
sqlite3_changes 函数是在 SQLite 的核心代码中实现的,它会记录每次执行 SQL 语句时所影响的行数,并在调用时返回
返回最后一次执行 SQL 语句所影响的行数的过程中,并没有用到临时表。SQLite 的 C API sqlite3_changes 只是记录了每次执行 SQL 语句时所影响的行数,并不需要创建或使用任何临时表,这个过程只涉及到一个简单的计数器变量,而不需要存储任何数据