Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/16.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 向SQL SERVER 2005中的现有表添加自动递增主键_Sql Server_Vb.net - Fatal编程技术网

Sql server 向SQL SERVER 2005中的现有表添加自动递增主键

Sql server 向SQL SERVER 2005中的现有表添加自动递增主键,sql-server,vb.net,Sql Server,Vb.net,我有一个包含8000行数据的表,并将添加更多数据。但是我忘了在开头放一个主键。这样每一行都有一个唯一的键。后来我添加了一个主键列。但该列现在为空 我希望第一行从ID1开始,一直递增到ID8000的最后一行。如何使用单个查询更新所有行 我使用的是SQL Server 2005。打开表设计,添加新列,然后选择列,并在标识规范中的属性中制作(Is标识)是。。 通过设置标识种子属性,可以从所需位置开始,默认情况下,它从1开始 如果您已经有标识列u也可以对其进行更新 步骤1:从表设计中的列中删除标识规范。

我有一个包含8000行数据的表,并将添加更多数据。但是我忘了在开头放一个主键。这样每一行都有一个唯一的键。后来我添加了一个主键列。但该列现在为空

我希望第一行从ID1开始,一直递增到ID8000的最后一行。如何使用单个查询更新所有行


我使用的是SQL Server 2005。

打开表设计,添加新列,然后选择列,并在标识规范中的属性中制作(Is标识)是。。 通过设置标识种子属性,可以从所需位置开始,默认情况下,它从1开始

如果您已经有标识列u也可以对其进行更新
步骤1:从表设计中的列中删除标识规范。
步骤2:使用光标从1开始更新表列。
步骤3:再次在表格设计中的列上应用标识规范
步骤4:通过查询重置标识列,从您想要的值。 e、 g
DBCC CHECKIDENT(“表名”,重新设定,8000)
因此,下一个标识值将是8001

CREATE TABLE [dbo].[TheTable](
    [TheID] [int] IDENTITY(1,1) NOT NULL,
    [TheColumn] [nvarchar](100) NOT NULL,
 CONSTRAINT [PK_TheTable] PRIMARY KEY CLUSTERED 
(
    [TheID] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]


INSERT INTO [dbo].[TheTable]
        ( [TheColumn] )
SELECT 'one'
UNION 
SELECT 'two'

SELECT * FROM [dbo].[TheTable] TT

您可以根据唯一键更新表。 声明@i int=1
而(@i根据您的要求,您只需要一个sql查询,它将以增量方式使用新的主键值更新整个表。以下是:

UPDATE myTable
SET ID = ID + 1
其中ID是PK字段名

更新后,请不要忘记添加标识列,如下所示:

ALTER TABLE table
ADD ID INT IDENTITY

ALTER TABLE table
ADD CONSTRAINT PK_table
PRIMARY KEY(ID)

删除刚才添加的列。然后运行此

ALTER TABLE table
ADD ID INT IDENTITY

ALTER TABLE table
ADD CONSTRAINT PK_table
PRIMARY KEY(ID)

您是如何添加主键列的?您需要设置标识种子和增量值,是吗?如果您添加标识,该列将不会为空,它将自动生成值@Nithesh..在您标记为duplicate的链接中的可能重复项..我想它说明了如何添加主键..但问题是如何填充l在单个查询中递增的PK字段的空值。