删除SQLite中的行后,新条目的_ID不连续

删除SQLite中的行后,新条目的_ID不连续,第1张

概述我使用此方法在sqlite数据库中删除一行:db.execSQL("deletefrom"+TABLE_NUMS+"where_ID='"+this.rowID+"'");然后我更新其余的Id以使输入连续:db.execSQL("UPDATE"+TABLE_NUMS+"set_ID=(_ID-1)WHERE_ID>"+this.

我使用此方法在sqlite数据库中删除一行:

db.execsql("delete from "+table_NUMS+" where _ID = '" + this.rowID + "'");

然后我更新其余的ID以使输入连续:

db.execsql("UPDATE "+table_NUMS+" set _ID = (_ID - 1) WHERE _ID > "+this.rowID);

它可以正常工作,但是当我向数据库中添加新条目时,新条目的ID仍会添加,就好像存在已删除的条目一样,假设我有10行ID从1到10的行,然后删除数字5和6,行变成1到8,但是新条目的ID将是11.所以我的ID序列将是1到8和11.如何解决此问题?

解决方法:

sqlite使用特殊的sqlITE_SEQUENCE表跟踪表曾经拥有的最大ROWID.您可以将该序列修改为:

UPDATE sqlITE_SEQUENCE SET seq = this.ID -1 WHERE name = table_NUMS 

在this question中要求相同的功能.

总结

以上是内存溢出为你收集整理的删除SQLite中的行后,新条目的_ID不连续全部内容,希望文章能够帮你解决删除SQLite中的行后,新条目的_ID不连续所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1210908.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-04
下一篇2022-06-04

发表评论

登录后才能评论

评论列表(0条)

    保存