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:取得上次插入的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

  

原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/244817.html

(0)
上一篇 2022年4月17日
下一篇 2022年4月17日

相关推荐

发表回复

登录后才能评论