SQLite中重置自动编号列的方法

目前流行的数据库都提供了自动编号类型,SQLite也不例外。当数据库中包含自动编号的字段时,SQLite会自动建立一个名为 sqlite_sequence 的表。这个表包含两个字段:name 和 seq 。name字段记录了自动编号字段所在的表,seq字段记录了当前用到的序号(下一条记录的编号就是当前序号加1)。

在开发过程中,我们经常要把表重置。也就是说把表中的记录全部清空,并把自动编号归0。在SQLite中,只需要修改 sqlite_sequence 表就可以了:

代码如下:

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

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

代码如下:

DELETE FROM sqlite_sequence WHERE name = 'TableName'

要是想重置所有表,那直接把 sqlite_sequence 清空就可以了:

代码如下:

DELETE FROM sqlite_sequence

相关推荐