我有一张约有10,000条记录的表.

例如,我有以下实体:

@Entity(tableName="cupcakes")

public class CupcakeEntity {

@PrimaryKey(autoGenerate = true)

@ColumnName(name = "id")

long id;

@ColumnName(name = "name")

String name;

@ColumnName(name = "parent_id")

Long parentId;

}

然后,我将此类与CupcakeEntity自加入:

public class CupcakeModel {

@Embedded

CupcakeEntity cupcake;

@Relation(parentColumn = "id", entityColumn = "parent_id")

List parent;

}

当我使用SQL语句获取CupcakeModel时:

选择*从纸杯蛋糕中,名称类似’%’|| :关键字|| ‘%’

该查询将引发以下异常:

too many SQL variables (code 1): , while compiling:

SELECT id,name,parent_id FROM `cupcakes` WHERE parent_id IN

(?,?,?,?...............................

我查看了Room的生成代码,发现它正在为所有实体循环.

除了创建自己的JOIN语句之外,还有其他解决方法吗?

解决方法:

如果有人碰到这个问题,我将在这里留下这个答案.

正如@CommonsWare所建议的那样,我在查询中添加了一个LIMIT,现在看起来像:

选择*从纸杯蛋糕中,名称类似’%’|| :关键字|| ‘%’LIMIT 500

这种解决方法应归功于@CommonsWare.

标签:android-room,sqlite,android

来源: https://codeday.me/bug/20191025/1926990.html

android sqlitelog,android-Room-SQLiteLog:(1)SQL变量过多相关推荐

  1. Android高级-Android操作SQL数据管理,增删改查

    已经学了好几天SQL了,昨天刚接触到Android操作SQL数据库,作了一个小demo,效果图如下 分别是,主界面,和修改,添加,以及删除界面 首先我们先来实现布局 MainActivity.xml ...

  2. [Android Studio] Android Studio常用快捷键

    [Android Studio] Android Studio常用快捷键 (会持续更新)这边讲的常用快捷键是指做完Keymap到Eclipse后的,不是纯Android Studio的,这边主要讲下比 ...

  3. android studio真机调试失败,【Android】Android Studio真机调试的问题统整

    真机调试需要注意以下几个问题 [1]手机的USB调试需开启 [2]手机不能是仅充电模式,需要传输数据模式 [3]有些USB线会偷工减料,请拿一条没问题的线,例如买手机时原厂给的配线 [4]在PC端需要 ...

  4. android 入门-android Studio 配置

    重要:sdk 最好先有一个版本 19版本.build-tools 19.1.0 extras 19.0和platforms android-19 1.下载android sdk 和jdk 并配置环境变 ...

  5. android 计算器,Android实战:计算器

    1.开发工具 Android Studio 2.开发过程 2.1创建布局 布局.png 2.1.1设计样式 style.xml @color/black bold 20sp wrap_content ...

  6. 谷歌 地图 android studio,Android Studio百度地图开发(一)

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 本人用Android Studio做百度地图开发,调试了一整天,始终无法通过.然后怀疑代码有问题,就换Eclipse进行代码编写,毕竟网上关于Eclips ...

  7. Android基础——Android系统概览

    1. Android系统架构 android大致可以分为四层架构:Linux内核层,系统运行库层.应用框架层和应用层 Linux内核层 android系统是基于Linux内核,这一层为android设 ...

  8. github android 计算器,Android studio实现简单的计算器

    本文实例为大家分享了Android studio实现简单计算器的具体代码,供大家参考,具体内容如下 需求分析及概要设计 目的 开发一个简单的计算器App,使之能够完成加减乘除混合运算 工具及环境 使用 ...

  9. 【Android】Android JNI

    文章目录 1.简介 1)java调用native接口 2)native调用java接口 2.jni.h 1)基本类型 2)C++中的非基本类型 3)C中的非基本类型 4)变量field与函数metho ...

最新文章

  1. 关于group by 和having(数据库)
  2. 基于OpenLDAP_MirrorMode的OpenLDAP高可用
  3. Spring Boot下的Redis缓存实战
  4. QT学习笔记之QTableView设置属性的方法
  5. LVS:三种负载均衡方式与八种均衡算法
  6. angular7.2构建包如何兼容ie_Python 小技巧:如何实现操作系统兼容性打包?
  7. Java中的return this
  8. Flutter APP UI Components
  9. CentOS7增加或修改SSH端口号
  10. 修改k8s的集群域名后缀
  11. ubuntu20.04截图快捷键
  12. word文档打不开、损坏了怎么修复
  13. 线性系统实验:化学方程式配平 与 天体轨道参数估计
  14. mysql 两个字段相乘_触发将来自不同表的两列与mysql中的函数相乘
  15. 我是如何在B站自学Java的?
  16. Java代码实现数字签名验证
  17. iOS企业证书的申请教程
  18. 一种改进的进化模型和混沌优化的萤火虫算法-附代码
  19. 阿里P8架构师深度概述互联网分布式架构
  20. 日志数据清洗(简单版)

热门文章

  1. 纹理与表面细节添加方法---小结
  2. Java8-Lambda表达式
  3. 实验三 密码破解技术
  4. 虚拟化数据中心服务器硬件配置建议
  5. IT从业人员必看的10大论坛(ZT)
  6. Java2WSDL 和 WSDL2Java(Axis)
  7. 正确使用MySQL JDBC setFetchSize()方法解决JDBC处理大结果
  8. “-bash: !”: event not found、echo sudo permission denied
  9. 深拷贝(deep clone)与浅拷贝(shallow clone)
  10. 关于CRTP(Curiously Recurring Template Prattern)的使用