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

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

(1)将ID删除,重新新增一个

(2)truncate table 表名

(3)dbcc checkident(表名,RESEED,0)

SQLserver数据库主要特性

(1)高性能设计,可充分利用WindowsNT的优势。

(2)系统管理先进,支持Windows图形化管理工具,支持本地和远程的系统管理和配置。

(3)强壮的事务处理功能,采用各种方法保证数据的完整性。

(4)支持对称多处理器结构、存储过程、ODBC,并具有自主的SQL语言。 SQLServer以其内置的数据复制功能、强大的管理工具、与Internet的紧密集成和开放的系统结构为广大的用户、开发人员和系统集成商提供了一个出众的数据库平台。

参考资料

SQLserver数据库.百度百科[引用时间2018-4-5]

清空MySQL表,使ID重新从1自增的步骤如下:

我们需要准备的材料分别是:电脑、Mysql查询器。

1、首先,打开Mysql查询器,连接上相应的mysql连接。

2、鼠标右击需要清空自增ID的表,选择“设计表”,再将选项卡切换到“设置”栏,会发现虽然清空了表,但是自动递增的数值仍然没有变回1。

3、在自动递增栏,将数值更改为数字1,并点击“保存”按钮。

4、此时会发现,再新增数据时,ID自动从1开始递增了。

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[p_DropIDENTITY]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)

drop procedure [dbo].[p_DropIDENTITY]

GO

/*--标识转换为普通列

采用修改标识列名,然后按新规则重列的方法处理

只适用于标识列没有与其他对象有关联的表

转换后,列的相关对象也不会恢复

有一定的局限性,仅供参考

--邹建 2005.05(引用请保留此信息)--*/

/*--调用示例

EXEC p_DropIDENTITY 'tb'

--*/

CREATE PROC p_DropIDENTITY

@TableName sysname --要处理的表名

AS

IF ISNULL(OBJECTPROPERTY(OBJECT_ID(@TableName),N'IsUserTable'),0)=0

BEGIN

RAISERROR('"%s" 必须是当前数据库中已经存在的用户表',12,16,@TableName)

RETURN

END

--标识列转换处理检查

DECLARE @s nvarchar(1000),@FieldName sysname,@bkFieldName sysname,@sql nvarchar(4000)

SELECT @FieldName=QUOTENAME(c.name),

@bkFieldName=CAST(NEWID() as char(36)),

@s=@FieldName+N' '+QUOTENAME(t.name)

+CASE WHEN t.name LIKE '%int' THEN N''

ELSE N'('+CAST(c.prec as varchar)

+N','+CAST(c.scale as varchar)+N')'

END

FROM sysobjects o,syscolumns c,systypes t

WHERE o.name=@TableName

AND o.id=c.id

AND c.xusertype=t.xusertype

AND c.status=0x80

IF @@ROWCOUNT=0

BEGIN

RAISERROR(N'表 "%s" 中无标识列',1,16,@TableName)

RETURN

END

--修改标识列名

SET @sql=QUOTENAME(@TableName)+N'.'+@FieldName

EXEC sp_rename @sql,@bkFieldName,N'COLUMN'

--转换为标识列处理

SELECT @TableName=QUOTENAME(@TableName),

@bkFieldName=QUOTENAME(@bkFieldName)

EXEC('ALTER TABLE '+@TableName+N' ADD '+@s)

EXEC('UPDATE '+@TableName+N' SET '+@FieldName+N'='+@bkFieldName+N'

ALTER TABLE '+@TableName+N' DROP COLUMN '+@bkFieldName)

RAISERROR(N'表 "%s" 中的标识列 "%s" 已经转换为普通列',1,16,@TableName,@FieldName)

GO


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/10045762.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-04
下一篇2023-05-04

发表评论

登录后才能评论

评论列表(0条)

    保存