当前位置:  开发笔记 > 数据库 > 正文

如何将标识属性添加到SQL Server中的现有列

如何解决《如何将标识属性添加到SQLServer中的现有列》经验,为你挑选了2个好方法。

在SQL Server(在我的情况下,2005)中,如何使用T-SQL将identity属性添加到现有表列?

就像是:

alter table tblFoo 
    alter column bar identity(1,1)

JohnFx.. 31

我不相信你能做到这一点.您最好的办法是创建一个新的标识列,并使用标识插入命令复制数据(如果您确实要保留旧值).

这是一篇很好的文章,详细描述了这个过程:http://www.mssqltips.com/tip.asp? tt = 1397



1> JohnFx..:

我不相信你能做到这一点.您最好的办法是创建一个新的标识列,并使用标识插入命令复制数据(如果您确实要保留旧值).

这是一篇很好的文章,详细描述了这个过程:http://www.mssqltips.com/tip.asp? tt = 1397



2> NateJ..:

Vikash发布的解决方案不起作用; 它在SQL Management Studio中产生"语法不正确"错误(2005,指定的OP).SQL Server的"Compact Edition"支持这种操作的事实只是一个捷径,因为真正的过程更像Robert&JohnFX所说的 - 创建一个重复的表,填充数据,重命名原始和新表适当.

如果要保留字段中已存在的需要为标识的值,可以执行以下操作:

CREATE TABLE tname2 (etc.)
INSERT INTO tname2 FROM tname1

DROP TABLE tname1
CREATE TABLE tname1 (with IDENTITY specified)

SET IDENTITY_INSERT tname1 ON
INSERT INTO tname1 FROM tname2
SET IDENTITY_INSERT tname1 OFF

DROP tname2

当然,不建议删除并重新创建实时代码使用的表(tname1)!:)

推荐阅读
oDavid_仔o_880
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有