怎样清空数据库sql 2000,清空后让表的id从1开始

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎样清空数据库sql 2000,清空后让表的id从1开始相关的知识,希望对你有一定的参考价值。

1、可以看到向mysql数据库表中新增一条记录,id为59818,可是明明只有一条记录。

2、可以通过“truncate table 表名”方式重置清空id,让id从1开始自动递增。

3、运行“truncate table crew_test”语句,进行重置清空crew_test表id。

4、再次打开crew_test表,新增两条记录,可以看到id从1开始递增。

5、如果想避免id间隔的问题,可以不设置id为自动递增,设计表之后,将id字段的自动递增取消。

6、将id设置为字符类型,然后通过程序随机生成不重复的字符串,新增数据的时候给id赋值。

参考技术A

具体操作步骤如下:

1、首先,打开sql,可以看到有一条新记录添加到了ID为59818的mysql数据库表中,但是显然只有一条记录,如下图所示,然后进入下一步。

     

2、其次,可以通过truncate table 表名来清除ID,以便ID自动从1开始增加,如下图所示,然后进入下一步。

     

3、接着,输入“
 truncate table crew_test”并运行,以重置并清除crew_test表ID,如下图所示,然后进入下一步。    

     

4、最后,再次打开crew_test表,并添加两个新的记录。可以看到表的id从1开始增加,如下图所示。这样,问题就解决了。    

     

     

参考技术B TRUNCATE TABLE
删除表中的所有行,而不记录单个行删除操作。

语法
TRUNCATE TABLE name
TRUNCATE TABLE 在功能上与不带 WHERE 子句的 DELETE 语句相同:二者均删除表中的全部行。但 TRUNCATE TABLE 比 DELETE 速度快,且使用的系统和事务日志资源少。

TRUNCATE TABLE 清空表所有数据,而且使标识列从标识种子(一般标识种子从1开始)重新开始
参考技术C 可以在当前的数据库下自己写个存储过程来执行这些操作

存储过程如下:

CREATE PROCEDURE DeleteAll
AS
begin
declare @name nvarchar(50)
declare @sql nvarchar(50)
declare TableName CURSOR
FOR (SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE ='BASE TABLE')

open TableName
fetch next from TableName into @name

while (@@fetch_status=0)
begin
select @sql = 'delete ' + @name
print @sql
execute sp_executesql @sql --删除表的数据
DBCC CHECKIDENT(@name,reseed,1) --重新设置ID种子
fetch next from TableName into @name
end
close TableName
DEALLOCATE TableName
end
GO

你自己在调试下看符不符合你的要求本回答被提问者采纳
参考技术D truncate table '表名' 这个命令,可以清空数据,而且不产生删除日志,可以让自增ID从新开始。

以上是关于怎样清空数据库sql 2000,清空后让表的id从1开始的主要内容,如果未能解决你的问题,请参考以下文章

怎样清空SQL SERVER数据库,清空后让表的ID自增列从1开始??

怎样清空SQL SERVER数据库,清空后让表的ID自增列从1开始??

SQL SERVER 怎样清空表的数据

SQL SERVER 怎样清空表的数据

SQL。。。快速清空表的问题。。高手》》

如何查看SQL2000数据库中所有表的数据量大小