2014-04-15 108 views
1
create table stud(
Student_Id int primary key, 
Student_Name varchar(30), 
Student_surname varchar(12), 
Student_Initial varchar(10)) 

我已經創建了一個表螺柱。現在我想的身份加入到student_id數據列使用ALTER查詢在SQL SERVER 2008中向列添加IDENTITY

alter table stud alter column student_Id int identity 

我得到錯誤的關鍵字「身份」附近

不正確的語法。

+0

查看http://stackoverflow.com/questions/1049210/adding-an-identity-to-an-existing-column – user2864740

回答

2

您不能將已存在的列作爲IDENTITY列。您可以刪除並重新創建標有IDENTITY', or drop the column and add a new IDENTITY列的列表。

2
ALTER TABLE MyTable 
    ADD ID INT IDENTITY(1,1) NOT NULL 
0

您可以使用下面的查詢來設置身份

CREATE TABLE [dbo].[stud](
    [Student_Id] [int] IDENTITY(1,1) NOT NULL, 
    [Student_Name] [varchar](30) NULL, 
    [Student_surname] [varchar](12) NULL, 
    [Student_Initial] [varchar](10) NULL, 
PRIMARY KEY CLUSTERED 
(
    [Student_Id] ASC 
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] 
) ON [PRIMARY] 

GO 

SET ANSI_PADDING OFF GO

1

語法:

IDENTITY [ (seed , increment) ] 

改變你的表像,因爲這:

create table stud( 
Student_Id int IDENTITY(1,1) primary key, 
Student_Name varchar(30), 
Student_surname varchar(12), 
Student_Initial varchar(10)); 
+0

+1好答案!我的朋友!繼續! –

+0

謝謝你majid! –

1

如果Stud包含數據,則可以隨時創建一個影子表, Stud2,其中包含標識列,然後運行

ALTER TABLE dbo.stud SWITCH TO dbo.stud2 

然後你可以補種Stud2,下降梭哈,並重新命名Stud2螺柱。

這樣,您可以保留數據,同時刪除/重新創建具有標識的表。