SQLite:*防止* PRIMARY KEY 值在删除所有行后重置

dlc*_*ers 5 sqlite auto-increment

我有一个 SQLite 表,有几列,包括一个 INTEGER PRIMARY KEY 的“ID”列。

当我插入时,这个值会按预期增加。

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

有没有办法让列值在删除前从最高值继续增加?

例如:

  • (空桌子)
  • 插入
  • 插入

(第 2 行的 ID 值为 2,下一次插入将为 3)

  • 删除所有行
  • 插入

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

rav*_*int 6

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

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