SQLite 清空表数据并将自增量归0
在普通的SQL中,实现如题这个只需要通过truncate [tablename]就能实现,但在SQLite中,没有truncate,所以需要分2步实现。
比如要清空test表中的所有记录数据。
test表中数据如下(其中id是自动增加的):
id | code | name |
---|---|---|
1 | 213122 | 张三 |
2 | 213124 | 李四 |
3 | 213125 | 王五 |
1、清空表数据
清空test表的SQL语句是:
1 | delete from test |
2、自增量归0
当SQLite数据库中 表中包含自动增加类型的字段后,会自动建立一个名为 sqlite_sequence 的表。这个表包含两个字段:name 和 seq。
- name:表示记录自增的表名(即 tablename);
- seq:记录当前的序号(下一条记录就是当前序号+1)
所以,当清空表中记录后,如果没有把这个自增的序号归0,添加下一条记录的时候,序号会从之前的数+1。
自增量归0的SQL语句是:
1 | update sqlite_sequence set seq = 0 where name = 'test' |
3、python代码实现
1 | import sqlite3 |
- 本文标题:SQLite 清空表数据并将自增量归0
- 本文作者:HDUZN
- 创建时间:2021-02-07 20:57:00
- 本文链接:http://hduzn.cn/2021/02/07/SQLite清空表数据并将自增量归0/
- 版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
评论