2013-05-22 2 views
3

내 문제가 있습니다.SQL에서 ReNumber 자동 증가 열

는 내가 가진 SQL 테이블에 자동 증가 기본 키는이

ID | Name| 

1  John 

2  Jack 

3  Bill 

4  Joe 

같은 테이블 모습 그리고 내가 행 2 잭

ID | Name| 

1  John 


3  Bill 

4  Joe 

을 삭제하고 내가 달성하고자하는 ID 열을 변경하는 것입니다 말할 수 테이블은 이렇게 보일 것입니다.

ID | Name| 

1  John 


2  Bill 

3  Joe 

할 방법이 있습니까? 내가 그렇게하지 않습니다

+4

네, 할 수있는 방법이 있지만, 어림짐작없이 기본 키를 변경하면 안된다고 생각합니다. –

+1

기본 키를 참조하는 레코드가 있으면 삭제하고 변경할 수 없습니다. –

+1

이 특정 테이블의 PK [ID]에 따라 테이블에 어떤 일이 생길지 생각해 보셨습니까? – Freelancer

답변

3

사전에 감사하지만 할 수 있습니다

  1. ID로 ID 열을
  2. 이름 바꾸기 ID2 열을 삭제 ID2
  3. 라는 새 자동 증가 기본 키를 만들
+0

동의했다, 생산에서 이것을 결코하지 않을 것이나, 좋고, 쉽고 매우 간단한 대답 –

-1
Set identity_insert Table off; 
Update Table set ID = 3 where ID = 4; 
... 
Set identity_insert Table on; 

여기서 표 이름은 입니다. 표