如题所述
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赋值。
温馨提示:答案为网友推荐,仅供参考
第1个回答 2020-05-10
具体操作步骤如下:
1、首先,打开sql,可以看到有一条新记录添加到了ID为59818的mysql数据库表中,但是显然只有一条记录,如下图所示,然后进入下一步。
2、其次,可以通过truncate table 表名来清除ID,以便ID自动从1开始增加,如下图所示,然后进入下一步。
3、接着,输入“
truncate table crew_test”并运行,以重置并清除crew_test表ID,如下图所示,然后进入下一步。
4、最后,再次打开crew_test表,并添加两个新的记录。可以看到表的id从1开始增加,如下图所示。这样,问题就解决了。
本回答被网友采纳
第2个回答 推荐于2017-09-13
TRUNCATE TABLE
删除表中的所有行,而不记录单个行删除操作。
语法
TRUNCATE TABLE name
TRUNCATE TABLE 在功能上与不带 WHERE 子句的 DELETE 语句相同:二者均删除表中的全部行。但 TRUNCATE TABLE 比 DELETE 速度快,且使用的系统和事务日志资源少。
TRUNCATE TABLE 清空表所有数据,而且使标识列从标识种子(一般标识种子从1开始)重新开始
删除表中的所有行,而不记录单个行删除操作。
语法
TRUNCATE TABLE name
TRUNCATE TABLE 在功能上与不带 WHERE 子句的 DELETE 语句相同:二者均删除表中的全部行。但 TRUNCATE TABLE 比 DELETE 速度快,且使用的系统和事务日志资源少。
TRUNCATE TABLE 清空表所有数据,而且使标识列从标识种子(一般标识种子从1开始)重新开始
第3个回答 推荐于2017-09-25
可以在当前的数据库下自己写个存储过程来执行这些操作
存储过程如下:
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
你自己在调试下看符不符合你的要求本回答被提问者采纳
存储过程如下:
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
你自己在调试下看符不符合你的要求本回答被提问者采纳
第4个回答 2015-11-23
truncate table '表名' 这个命令,可以清空数据,而且不产生删除日志,可以让自增ID从新开始。