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