如何在删除所有数据后重置 SQL 服务器中的自动增量
how to Reset AutoIncrement in SQL Server after all data Deleted
我在 sql 中得到了一个函数,它生成连续的字母数字序列
no.like (c000,c0001 .......) ,效果很好。但是当我删除 table 中的所有数据时,它从最后生成的编号开始。我希望它从 "c0000" 重置其值。
代码如下:-
create table Customers
(
dbID int identity not null primary key,
CustomerName varchar(100)
)
create function CustomerNumber (@id int)
returns char(5)
as
begin
return 'C' + right('0000' + convert(varchar(10), @id), 4)
end
alter table Customers add CustomerNumber as dbo.CustomerNumber(dbID)
提前致谢....
编辑 1 -
如何更新它以根据最后一个值递增。意味着如果最后一个条目没有。 c0053,我删除了这条记录,所以当添加下一个条目时,它的值应该是 "C0053" 而不是 "C0054".
谢谢
截断 TABLE
从 table 或 table 的指定分区中删除所有行,而不记录单个行删除。 TRUNCATE TABLE 类似于没有 WHERE 子句的 DELETE 语句;但是,TRUNCATE TABLE 更快并且使用更少的系统和事务日志资源。
截断 TABLE 客户
或删除您的内置函数。
我的建议是 删除 所有数据行,为什么不 截断 table。
如果您截断 table 它会自动将您的自动增量重置为 0
TRUNCATE TABLE your_table_name;
此示例将截断 table 并删除 table 中的所有记录。并休息你的自动增量。
SQL TRUNCATE TABLE命令用于删除现有table
中的完整数据
试试这个方法。可以帮到你。
Truncate Table命令是重置身份的好方法,但还有其他命令也可以在删除记录后重置身份。
DBCC CHECKIDENT (TableName, RESEED, 0)
删除后您可以使用此命令将身份重置为 0。
我在 sql 中得到了一个函数,它生成连续的字母数字序列 no.like (c000,c0001 .......) ,效果很好。但是当我删除 table 中的所有数据时,它从最后生成的编号开始。我希望它从 "c0000" 重置其值。
代码如下:-
create table Customers
(
dbID int identity not null primary key,
CustomerName varchar(100)
)
create function CustomerNumber (@id int)
returns char(5)
as
begin
return 'C' + right('0000' + convert(varchar(10), @id), 4)
end
alter table Customers add CustomerNumber as dbo.CustomerNumber(dbID)
提前致谢....
编辑 1 -
如何更新它以根据最后一个值递增。意味着如果最后一个条目没有。 c0053,我删除了这条记录,所以当添加下一个条目时,它的值应该是 "C0053" 而不是 "C0054".
谢谢
截断 TABLE
从 table 或 table 的指定分区中删除所有行,而不记录单个行删除。 TRUNCATE TABLE 类似于没有 WHERE 子句的 DELETE 语句;但是,TRUNCATE TABLE 更快并且使用更少的系统和事务日志资源。
截断 TABLE 客户
或删除您的内置函数。
我的建议是 删除 所有数据行,为什么不 截断 table。
如果您截断 table 它会自动将您的自动增量重置为 0
TRUNCATE TABLE your_table_name;
此示例将截断 table 并删除 table 中的所有记录。并休息你的自动增量。
SQL TRUNCATE TABLE命令用于删除现有table
中的完整数据试试这个方法。可以帮到你。
Truncate Table命令是重置身份的好方法,但还有其他命令也可以在删除记录后重置身份。
DBCC CHECKIDENT (TableName, RESEED, 0)
删除后您可以使用此命令将身份重置为 0。