SQLite如何用SQL语句查询受影响行数?

我是在单元练习吧,正好在研究Android数据库这块儿。
我看Android中的 SQLiteDatabase的 delete方法和 update方法返回的就是受影响行数,想研究一下她编程是如何得到的。
应该是通过查询临时表什么的吧?
(本来想Ctrl+点击一路看下去,一窥端倪,可是看到SQLiteStatement的getSession()方法就点不下去了!)

源于chatGPT仅供参考

在SQLite中,可以使用SQL语句查询受影响的行数。具体的查询方式取决于你使用的数据库访问库和编程语言。

在Android中使用`SQLiteDatabase`的`delete()`和`update()`方法返回的确实是受影响的行数,但它们并不是通过查询临时表来获取的。

下面是一些常见的查询受影响行数的方法:

1. 使用`SELECT changes()`:在执行更新操作(如DELETEUPDATE)后,可以使用`SELECT changes()`语句来获取受影响的行数。例如:

   ```sql
   DELETE FROM table_name WHERE condition;
   -- 获取受影响的行数
   SELECT changes();
  1. 使用SELECT COUNT(*):在执行更新操作后,通过查询目标表来获取受影响的行数。例如:

    DELETE FROM table_name WHERE condition;
    -- 获取受影响的行数
    SELECT COUNT(*) FROM table_name WHERE condition;
    

这两种方法都可以用于查询受影响行数,选择哪种方法取决于你的需求和编程环境。一般而言,直接使用返回受影响行数的函数或方法更加简洁和高效。

关于SQLiteStatementgetSession()方法,它是SQLite的底层实现细节,通常情况下我们不需要直接使用该方法。如果你想深入研究SQLite的内部工作原理,可以参考SQLite的官方文档或相关书籍。

```