如何修改表并将列更改为 identity(5,10)?

24 浏览
0 Comments

如何修改表并将列更改为 identity(5,10)?

我想执行SQL查询以将整数类型的列从普通类型更改为标识类型,种子为10,起始值为5。我该如何做呢?我的意思是类似于:

 ALTER TABLE Persons MODIFY ID Identity(5,10)
 ALTER TABLE Table3 ALTER COLUMN AutoINC set  Idenity(5,2)

来改变他的标识。

0
0 Comments

无法更改现有的自增列,必须为其创建一个新列。

ALTER TABLE Persons
ADD NewIdColumn int IDENTITY (5, 10);

如果想要使用相同的列名,可以先删除现有列(请确保您不会丢失数据),然后再使用上述语句添加新列。

0
0 Comments

在SQL Server中,无法直接将现有的列更改为标识列。然而,可以通过以下方法实现类似的功能。

解决方法:

1. 创建一个新的标识列。

2. 将现有的数据从旧列复制到新列。

3. 删除旧列。

4. 将新列重命名为旧列的名称。

具体步骤如下:

-- 创建一个新的标识列
ALTER TABLE 表名
ADD 新列名 int IDENTITY(5,10);
-- 将现有的数据从旧列复制到新列
SET IDENTITY_INSERT 表名 ON;
INSERT INTO 表名 (新列名, 列1, 列2, ...)
SELECT 旧列名, 列1, 列2, ...
FROM 表名;
SET IDENTITY_INSERT 表名 OFF;
-- 删除旧列
ALTER TABLE 表名
DROP COLUMN 旧列名;
-- 将新列重命名为旧列的名称
EXEC sp_rename '表名.新列名', '旧列名', 'COLUMN';

以上步骤将创建一个新的标识列,并将现有数据从旧列复制到新列。然后,删除旧列,并将新列重命名为旧列的名称。这样就实现了将列更改为标识列的目的。

如果你想了解更多关于如何将列更改为标识列的信息,可以参考下面的链接:

http://social.msdn.microsoft.com/Forums/sqlserver/en-US/04d69ee6-d4f5-4f8f-a115-d89f7bcbc032/how-to-alter-column-to-identity11?forum=transactsql

0