sqlserver sqlite mysql 修改自增id 增量

1.MySQL重置自增id

方法一:使用truncate命令(截断表)

truncate table tableName(表名);

注意:truncate命令一次性将表中所有数据删除,且无法恢复。并且在删除过程中不会激活与表有关的删除触发器。执行速度快。使用truncate命令后,表和索引所占用的空间会恢复到初始大小。

 

方法二:

delete from tableName(表名); 

alter tableName(表名) auto_increment=1;

 

2.sqlite重置自增id

当数据库中包含自动编号的字段时,SQLite会自动建立一个名为sqlite_sequence的表。这个表 包含两个字段:name和seq。其中,name记录了自动编号字段所在的表的名称,seq字段记录了该表当前最大的序号(下一条记录的编号将为当前序号加1)。重置表的自增id,只需要修改sqlite_sequence表即可。
 

方法一:

将表的记录全部清空,并把自动编号归0。

DELETE FROM tableName;
UPDATE sqlite_sequence SET seq = 0 WHERE name = 'tableName';

方法二:

删除对应记录。

DELETE FROM tableName;
DELETE FROM sqlite_sequence WHERE name = 'tableName';

 

3.sqlserver重置自增id

1.删除表中的所有的数据的同时,将自动增长清零。 

truncate table TableName 

 

2.不删除表的数据,直接重置自动增长的值。 

 DBCC CHECKIDENT('TableName', RESEED, 0

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
1:取得上次插入的ID最大值
SCOPE_IDENTITY() --局部变量,@@IDENTITY相当于全局变量
 
2:重置当前标识值
 
A. 如有必要,重置当前标识值
下例在必要的情况下重置 jobs 表的当前标识值。
 
USE pubs
GO
DBCC CHECKIDENT (jobs)
GO
 
B. 报告当前标识值
下例报告 jobs 表中的当前标识值;如果该标识值不正确,并不对其进行更正。
 
USE pubs
GO
DBCC CHECKIDENT (jobs, NORESEED)
GO
 
C. 强制当前标识值为 30
下例强制 jobs 表中的当前标识值为 30。
 
USE pubs
GO
DBCC CHECKIDENT (jobs, RESEED, 30)
GO

 

 

-- 清理数据库并可能减少文件大小
VACUUM;
posted @   qingjiawen  阅读(716)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
点击右上角即可分享
微信分享提示