Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 2008 如何在SQL Server中已存在的表中为主键列添加标识?_Sql Server 2008 - Fatal编程技术网

Sql server 2008 如何在SQL Server中已存在的表中为主键列添加标识?

Sql server 2008 如何在SQL Server中已存在的表中为主键列添加标识?,sql-server-2008,Sql Server 2008,我知道如何使用主键和标识创建新列,但我想做不同的事情,比如 如何为SQL Server中已存在的表中的主键列添加标识 我已经通过在SQLServer中使用GUI做到了,但这不起作用。您可以在这个屏幕截图中看到: 尝试开关操作器 CREATE TABLE Test ( id int not null primary key, name varchar(10) ); INSERT INTO Test VALUES (1,'John'); INSERT INTO T

我知道如何使用主键和标识创建新列,但我想做不同的事情,比如

如何为SQL Server中已存在的表中的主键列添加标识

我已经通过在SQLServer中使用GUI做到了,但这不起作用。您可以在这个屏幕截图中看到:

尝试开关操作器

 CREATE TABLE Test
  (
    id int not null primary key,
    name varchar(10)
  );

  INSERT INTO Test VALUES (1,'John');
  INSERT INTO Test VALUES (2,'Peter');

  CREATE TABLE Test2
  (
    id int identity(1,1) primary key,
    name varchar(10)
  );

  ALTER TABLE Test SWITCH TO Test2;

 DROP TABLE Test;

 EXEC sp_rename 'Test2','Test';

不能将
标识
规范添加到现有列中。您需要创建一个新列并使其成为
identity
您确定SQL Server具有
开关
关键字吗?