我想从我的 SQLite 数据库中获取 NOT NULL 记录的数量。由于我使用的是自动增量,最后插入的行不会给我表中的真实记录数,因为即使我删除任何中间记录,它也会插入到比最后插入的记录高的位置。
insert 语句返回我最后插入的行数,但我想要这个值。
在桌子上做一个计数应该有效。只需使用 NOT NULL 的 where 检查查询 id 列,然后在返回的游标上调用getCount()
只是为了确定:您永远不应该,真的永远不会,在生产数据库中操作自动增量。如果您删除一条记录,那么“差距”应该留在那里。它对性能或其他任何东西没有影响。如果在空白处插入一条新记录,会造成很多麻烦...
所以你只想找到行数?(据我所知,没有“空记录”之类的东西。)
你能不能只做
select count(1) from YourTableName
或者
select count(*) from YourTableName
? (某些数据库使用一种或其他形式更快......我不知道 sqlite。)