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

随心笔谈9个月前发布 admin
182 00
🌐 经济型:买域名、轻量云服务器、用途:游戏 网站等 《腾讯云》特点:特价机便宜 适合初学者用 点我优惠购买
🚀 拓展型:买域名、轻量云服务器、用途:游戏 网站等 《阿里云》特点:中档服务器便宜 域名备案事多 点我优惠购买
🛡️ 稳定型:买域名、轻量云服务器、用途:游戏 网站等 《西部数码》 特点:比上两家略贵但是稳定性超好事也少 点我优惠购买

文章摘要

SQLite通过`sqlite_sequence`表来管理自动编号字段。该表包含`name`和`seq`字段,`name`记录字段所在的表名,`seq`记录当前序号。要重置自动编号(清空序号),可以执行以下操作: 1. 清空单个表: - 更新`seq`字段为0:`UPDATE sqlite_sequence SET seq=0 WHERE name='TableName'` - 或删除记录:`DELETE FROM sqlite_sequence WHERE name='TableName'`2. 清空所有表:`DELETE FROM sqlite_sequence`



目前流行的数据库都提供了自动编号类型,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

© 版权声明

相关文章