自动增量和减量整数字段在sqlite数据库中可用吗?
|
我正在获取ID为Integer主键或整数的数据。
但是删除任何行后...
之后,如果我们选择查询以显示所有内容。
但由于缺少一个ID,它会强制关闭。
我希望ID本身可以是
auto increment
和decrement
。
当我在此之后删除记录的末尾(ig id = 7)时,我添加一行,则id必须为7而不是8。与当我删除中间的某行(ig id = 3)时相同,则所有行自动由参加。
你的想法可以帮助我。
没有找到相关结果
已邀请:
1 个回复
磐乓铝举
查找下一个可用值。根据SQLite的行为,您可以将其嵌入INSERT语句的VALUES列表中:
那可能行不通;您可能必须执行两次操作。请注意,如果存在任何并发,则两个语句形式是一个坏主意。主键唯一约束通常可以防止灾难,但是两个并发语句之一会失败,因为它试图插入另一个刚插入的值-因此它必须重试并希望达到最佳效果。显然,手机的并发性不如Web服务器,因此问题相应地不那么严重。不过要小心。 但是,总的来说,最好不要在序列中出现间隙而不必担心。通常不必担心它们。如果您必须担心差距,请不要让人们把差距放在第一位。或在执行删除操作以创建空白行时移动现有行以填补空白。最后,仍然留下删除操作,在添加新行时会产生间隙,这就是为什么最好克服“必须是连续的数字序列”心态的原因。自动递增可确保唯一性;它不保证连续性。