我正在使用房间数据库来维持我的存在,但是当我尝试进行检索时,数量为#34;我有列#34;键入"保持值为正,它给出以下错误
[SQLITE_ERROR] SQL error or missing database (no such column: negative)
这是我的ObjectDAO查询:
@Query("SELECT amount FROM `Transaction` WHERE transactionType = `positive`")
int getAmountPositive();
任何帮助都将深表感谢!
答案 0 :(得分:2)
你应该用'
括起字符串文字而不是“`”(反引号):
@Query("SELECT amount FROM `Transaction` WHERE transactionType = 'positive'")
否则将其视为identifier:
'keyword'单引号中的关键字是字符串文字。
“keyword”双引号中的关键字是标识符。
[keyword] 方括号中的关键字是标识符。这不是标准的SQL。 MS Access使用此引用机制 和SQL Server一起包含在SQLite中以实现兼容性。
`keyword`
以重音符号(ASCII代码96)括起来的关键字是标识符。这不是标准SQL。这种引用机制是 由MySQL使用并包含在SQLite中以实现兼容性。