2013-12-23 2 views
2

SQL Server 테이블에서 테이블을 삭제하고 다시 만들고 모든 데이터를 잃지 않고 기본 키와 자동 증가를 설정할 수 있습니까?SQL Server : 테이블 및 내용을 삭제하지 않고 기본 키를 설정하십시오.

+0

어떨까요? 모든 포인터가 많이 감사하겠습니다 감사합니다 – PeteTheGreek

+0

http://stackoverflow.com/questions/9158564/add-primary-key-column-in-sql-table – Mihai

+0

http://stackoverflow.com/questions/4862385/sql-server- 자동 증가 - 기본 키 - 기존 테이블 추가 – Mihai

답변

5

물론 가능합니다! 당신은 단지 새 열을 추가하고에게 INT IDENTITY을하고 여기에 기본 키 제약 조건을 추가

ALTER TABLE dbo.YourTable 
ADD ID INT IDENTITY(1,1) NOT NULL 

ALTER TABLE dbo.YourTable 
ADD CONSTRAINT PK_YourTable PRIMARY KEY (ID) 
2

를 기존의 기본 키가있는 경우 먼저 삭제해야합니다 :

IF EXISTS (SELECT * FROM sys.key_constraints 
      WHERE type = 'PK' AND parent_object_id = OBJECT_ID('MyTable') 
      AND Name = 'PK_MyTable') 
    ALTER TABLE MyTable DROP CONSTRAINT PK_MyTable 

당신이 만약 열을 추가하는 것은 기본 키로 사용할 수 있습니다, 당신은 간단하게 추가 할 수 있습니다

ALTER TABLE MyTable ADD MyKey INT IDENTITY 

을 그런 다음 테이블의 기본 키 등이 열을 설정할 수 있습니다

ALTER TABLE MyTable ADD CONSTRAINT PK_MyTable PRIMARY KEY(MyKey) 
관련 문제