2

主キー「ID INTEGER AUTOINCREMENT」を使用して、ServiceStack.OrmLite を使用していくつかのオブジェクトを SQLite データベースに保存しています。すべて正常に動作します。

しかし、「SELECT * FROM Table WHERE (ID = 112) OR (ID = 113)」というクエリでオブジェクトを読み込もうとすると、結果が空になります。

where句を「(ID + 0 = 112)OR(ID + 0 = 113)」に変更すると、結果に2行あります。sqlite コマンド ライン ツールでデータベースを調べると、すべてのレコードがここにあり、列の型が INTEGER で、すべての行の typeof(ID) が「整数」を返すことがわかります。何が間違っている可能性がありますか?

4

1 に答える 1

0

IDINTEGERAUTOINCREMENTまたはIDINTEGERPRIMARY KEY AUTOINCREMENTではなく、INTEGER PRIMARYKEY...使用してテーブルを再作成してみてください。

SQLiteがROWIDを処理する方法は、構文によって異なります。

詳細については、 SQLiteAutoincrementを確認してください。

于 2012-12-09T04:23:13.587 に答える