我创建了一个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。
答案 0 :(得分:0)
我正要说它无法完成。您必须删除并重新创建主键(或者,只需从头创建整个表,移动数据,然后删除旧表)。
修改强> 但是,根据您的SQL Server版本和版本,您可以使用对象资源管理器导航到表并在那里访问其设计属性。然后,您可以将列设置为标识类型。
然而,有人指出,它实际上可能会在后台丢弃并重新创建表格。
无论如何,由于OP已经包含对答案的编辑,与我最初建议的相同(用另一个替换PK,或者重新创建表并在那里移动数据),我认为没有必要进一步进入这个。