You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Room框架中部分实体表名在Dao查询中加反引号的原因

为什么Room中部分表名会自动添加反引号?
  • 核心原因是**transaction是SQL的保留关键字**,而account、category这类名称不属于保留关键字。
  • SQL保留关键字是数据库系统预留的特殊词汇,比如TRANSACTION用于定义事务操作,SELECT、FROM这类也属于此类。如果直接把这些关键字用作表名或列名,数据库会将其识别为SQL命令而非普通标识符,从而引发语法错误。
  • Room在生成DAO查询语句时,会自动检测实体的表名/列名是否属于SQL保留关键字。如果是,就会用反引号(``)将其包裹起来进行转义,让数据库将其当作普通的表名处理;非关键字的名称则不需要转义,因此不会自动添加反引号。

内容的提问来源于stack exchange,提问作者Tonnie

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 11:09:51