lkf181 2023-07-10 08:39 采纳率: 86.5%
浏览 39
已结题

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

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

  • 写回答

1条回答 默认 最新

  • 自在猫先生 2023-07-10 09:20
    关注

    源于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的官方文档或相关书籍。

    ```

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 7月10日
  • 已采纳回答 7月10日
  • 创建了问题 7月10日

悬赏问题

  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度