
我使用此方法在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不连续所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)