Room 을 사용할때 <expression> expected, got ' ' error

이지훈·2022년 11월 30일
0

Room 또는 SQlite을 사용할때 쿼리문에 대해서 다음과 같은 에러를 뱉는 경우를 경험하곤 한다.

ex)

@Query("SELECT * FROM data_db ORDER BY `key` ASC")

error: expected, got 'key'

다음과 같은 에러가 발생하는 이유는 'key' 가 SQlite 예약어이기 때문이다.
예약어는 어려운건 아니고 언어에서 이미 문법적인 용도로 사용되는 단어들을 의미한다.

SQlite에서 사용하는 예약어들은 다음 링크에서 확인할 수 있다.
https://www.sqlite.org/lang_keywords.html

예약어긴 하지만 해당 단어를 사용하고 싶은 경우엔

`key` 

와 같이 단어에 억음부호를 붙혀주면 된다.

참고)
https://server-dev.tistory.com/189

profile
실력은 고통의 총합이다. Android Developer

0개의 댓글