如何在SQL Server中将自动增量设置为现有主列字段

时间:2014-07-24 08:01:57

标签: sql-server

我创建了一个SQL Server数据库表,但忘记在主键列中设置自动增量。如何将自动增量设置为现有主键字段?

CREATE TABLE [dbo].[STUDENT_INFO] 
  ( 
     [ROLLNO]       [INT] IDENTITY(1, 1) NOT NULL, 
     [SCHOOLID]     [INT] NOT NULL, 
     [STUDENTID]    [INT] NOT NULL, 
     [NAME]         [NVARCHAR](50) NOT NULL, 
     [AGE]          [INT] NOT NULL, 
     [GENDER]       [NVARCHAR](10) NOT NULL, 
     [ADDRESS]      [NVARCHAR](500) NULL, 
     [CONTACTNO]    [NVARCHAR](20) NOT NULL, 
     [EMAIL]        [NVARCHAR](50) NULL, 
     [ISACTIVE]     [BIT] NOT NULL, 
     [INSTRUMENTID] [INT] NOT NULL, 
     [GRADEID]      [INT] NOT NULL, 
     [DISCOUNT]     [INT] NOT NULL, 
     [STARTTIME]    [TIME](7) NOT NULL, 
     [DURATION]     [TIME](7) NOT NULL, 
     PRIMARY KEY CLUSTERED ( [STUDENTID] ASC ) WITH (PAD_INDEX = OFF, 
     STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, 
     ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] 
  ) 
ON [PRIMARY]

我正在使用SQL Server Management Studio 2012。

1 个答案:

答案 0 :(得分:0)

我正要说它无法完成。您必须删除并重新创建主键(或者,只需从头创建整个表,移动数据,然后删除旧表)。

修改 但是,根据您的SQL Server版本和版本,您可以使用对象资源管理器导航到表并在那里访问其设计属性。然后,您可以将列设置为标识类型。

然而,有人指出,它实际上可能会在后台丢弃并重新创建表格。

无论如何,由于OP已经包含对答案的编辑,与我最初建议的相同(用另一个替换PK,或者重新创建表并在那里移动数据),我认为没有必要进一步进入这个。