SQLite3中自增主键归零方法

发布时间 2023-06-15 08:49:16作者: 3的4次方

SQLite3中自增主键归零方法

Sqlite3记录被清除之后,如果表中有自增长字段,下次再插入数据,会继续延续之前自增长字段的历史记录。即使在清空table后,如果table中有自增ID值,那么这个值是不会归零的,而且会继续呈现递增。

当SQLite数据库中包含自增列时,会自动建立一个名为 sqlite_sequence 的表。当记录被插入表时,该表会自动更新。

这个表包含两个列:name和seq。name记录自增列所在的表,seq记录当前序号(下一条记录的编号就是当前序号加1)。

image

如果想把某个自增列的序号归零,只需要修改 sqlite_sequence表。

UPDATE sqlite_sequence SET seq = 0 WHERE name='TableName';

也可以直接把该记录删掉:

DELETE FROM sqlite_sequence WHERE name='TableName';

要想将所有表的自增列都归零,直接清空sqlite_sequence表就可以了:

DELETE FROM sqlite_sequence;

image