学而实习之 不亦乐乎

在 SQLite 中文清空表数据并将自增列归零

2023-09-02 06:55:14

在 SQLite 中,并没有 TRUNCATE TABLE 命令,但可以使用 SQLite 的 DELETE 命令从已有的表中删除全部的数据。

一、DELETE 语法

DELETE 命令的基本语法如下:

sqlite> DELETE FROM table_name;

但这种方法无法将递增数归零。

二、自增列归零

如果要将递增数归零,可以使用以下方法:

sqlite> DELETE FROM sqlite_sequence WHERE name = 'table_name';

当 SQLite 数据库中包含自增列时,会自动建立一个名为 sqlite_sequence 的表。这个表包含两个列:name 和 seq。name 记录自增列所在的表,seq 记录当前序号(下一条记录的编号就是当前序号加 1)。如果想把某个自增列的序号归零,只需要修改 sqlite_sequence 表就可以了。

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