SQLite:删除所有行后,* prevent * PRIMARY KEY值不会重置 [英] SQLite: *prevent* PRIMARY KEY value from resetting after delete all rows

查看:79
本文介绍了SQLite:删除所有行后,* prevent * PRIMARY KEY值不会重置的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个SQLite表,其中有几列,包括一个"ID"列,它是INTEGER PRIMARY KEY.

I have a SQLite table, with a few columns, including an "ID" column which is INTEGER PRIMARY KEY.

当我插入时,该值会按预期增加.

When I insert, this value increments as expected.

但是,当我删除所有行时,该列的值在下一次插入时将恢复为1.

However, when I delete all rows, this column's value reverts to 1 on the next insert.

有没有一种方法可以让列值从删除前的最高值继续增加?

Is there a way to have the column value continue to increment from the highest value before deletion?

例如:

  • (空表)
  • 插入
  • 插入

(第二行的ID值为2,下一个插入值为3)

(ID value of 2nd row is 2, next insert would be 3)

  • 删除所有行
  • 插入

(此最新行的ID值为1,但我希望它为3)

(ID value for this latest row is 1, but I want it to be 3)

推荐答案

如果在INTEGER PRIMARY KEY之后出现AUTOINCREMENT关键字,则会更改自动ROWID分配算法,以防止在数据库的整个生命周期内重复使用ROWID.换句话说,AUTOINCREMENT的目的是防止重复使用先前删除的行中的ROWID.

https://www.sqlite.org/autoinc.html

这篇关于SQLite:删除所有行后,* prevent * PRIMARY KEY值不会重置的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆