2

Android で OrmLite を使用して、簡単なクエリを試してみました。

GenericRawResults<String[]> results = queryRaw("SELECT * FROM transaction");

残念ながら、私は例外を受け取ります:

near "transaction": syntax error: , while compiling: SELECT * FROM transaction

私はこれが紛らわしいと感じました.Ormがコンパイルされたステートメントを介して生成するものをステップスルーして確認した後、構文は次のようにする必要があることに気付きました:

GenericRawResults<String[]> results = queryRaw("SELECT * FROM `transaction`");

なぜこれが必要なのか、少し混乱していますか?

4

1 に答える 1

5

「トランザクション」は SQLite3 のキーワードです。

そのページからの関連する引用は、一番上にあります。

SQL 標準では [...] テーブルの名前として使用できないキーワードが指定されています [...] [...] キーワードを名前
として
使用する場合は、引用符で囲む必要があります。

ドキュメンテーションはあなたの友達です。*

※そうでない場合を除きます。しかし、この場合はそうです。

于 2012-08-23T21:15:29.667 に答える