2

我正在使用 ServiceStack.OrmLite 将一些对象保存到带有主键“ID INTEGER AUTOINCREMENT”的 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

尝试使用INTEGER PRIMARY KEY ... 而不是ID INTEGER AUTOINCREMENTID INTEGER PRIMARY KEY AUTOINCREMENT重新创建表。

SQLite 处理 ROWID 的方式因语法而异。

查看SQLite 自动增量以获取更多信息。

于 2012-12-09T04:23:13.587 回答