如果删除表末尾的行,自动增量将重置:
sqlite> CREATE TABLE my_table (
id INTEGER PRIMARY KEY
);
...
sqlite> SELECT * FROM my_table;
1
2
3
sqlite> DELETE FROM my_table WHERE id = 3;
sqlite> SELECT * FROM my_table;
1
2
sqlite> INSERT INTO my_table DEFAULT VALUES;
sqlite> SELECT * FROM my_table;
1
2
3
我想要返回最后一个命令
1
2
4
这可能吗?
如果您将主键配置为自动增量,您将得到这样的行为:
演示: https: //dbfiddle.uk/U0Y3H-9w
关于自动增量的文档: https: //www.sqlite.org/autoinc.html
AUTOINCRMENT 的目的是防止重复使用以前删除的行中的 ROWID。