Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.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 r2 如何将值设置为主键标识列_Sql Server 2008 R2 - Fatal编程技术网

Sql server 2008 r2 如何将值设置为主键标识列

Sql server 2008 r2 如何将值设置为主键标识列,sql-server-2008-r2,Sql Server 2008 R2,我在SQLServer2008R2中有一个表,其中包含2000条记录。它没有主键列。我必须添加一个主键标识列 如何一次性将值分配给主键列?如果要添加作为标识列的列,请使用以下命令: ALTER TABLE dbo.YourTable ADD YourNewColumn INT NOT NULL IDENTITY(1,1) 这将向表中添加一个作为标识列的新列,并为所有现有行为该列赋值 要使其成为主键,请使用以下命令 ALTER TABLE dbo.YourTable ADD CONSTRAINT

我在SQLServer2008R2中有一个表,其中包含2000条记录。它没有主键列。我必须添加一个主键标识列


如何一次性将值分配给主键列?

如果要添加作为标识列的列,请使用以下命令:

ALTER TABLE dbo.YourTable
ADD YourNewColumn INT NOT NULL IDENTITY(1,1)
这将向表中添加一个作为标识列的新列,并为所有现有行为该列赋值

要使其成为主键,请使用以下命令

ALTER TABLE dbo.YourTable
ADD CONSTRAINT PK_YourTable PRIMARY KEY CLUSTERED(YourNewColumn)
或者,如果需要,可以在单个命令中添加:

ALTER TABLE dbo.YourTable
ADD YourNewColumn INT NOT NULL IDENTITY(1,1)
   CONSTRAINT PK_YourTable PRIMARY KEY CLUSTERED

如果您使用的是SQL Server Management Studio,则
右键单击列并从下拉列表中选择主键。

您可能正在谈论添加标识列,但您应该知道标识和主键不是同义词。你可以有一个而没有另一个。我希望该列首先应该是主键。一旦我在其中获得了独特的价值,我就可以将其作为身份。我无法将其作为主键,因为表包含2000条记录。我不想删除这些记录。如何实现它?如果您只需向现有表中添加一个标识列,则每行在添加时都会被分配一个唯一的值。哦。。。是的,问题解决了。我早就试过了,但没有成功。好啊没有问题。多谢各位@达米恩·不信者