2012-12-13 5 views
0

테이블을 자동으로 다시 시드하는 테이블을 자른 후 일부 레코드를 이식하는 데 문제가 있습니다.PK ID 인 강제 업데이트 ID

문제는 내가 이식하는 ID가 모두 엉망입니다. 왜냐하면 시드는 물론 1에서 다시 시작되었지만 첫 번째 ID는 17 세 이상이므로 중간에 건너 뜁니다.

그래서 레코드의 집합이 같은 PK와이 있어야 포팅 : 다시

17 
18 
20 
33 
... and so on 


Right now I have: 
1 
2 
3 
4.. and so on 

을 나는 PK가 여전히 존재하고 있었고, 난 그 첫 세트를 포팅 할 때 만 다시 시드가 한 삽입을했기 때문에, 망했다.

임시로 PK를 비활성화하여이 테이블을 수동으로이 테이블로 업데이트 할 수 있습니까? PK에 대한 참고 자료가 좀있어 복잡해졌습니다. 그냥 이봐,이 PK를 해제하고 그것에 FKs를 해제 ... 수동으로 SQL 관리 스튜디오에서 ID를 직접 업데이 트하고 다음 PK 및 관련 FKs를 다시 활성화 말을하고 싶습니다.

업데이트 할 레코드가 너무 많아서 수동으로 수행 할 수 있습니다. 문제는 PK 및 관련 FK의 제약입니다.

+0

모든 fk 값과 같은 소리가 새 pkids에 매핑됩니다. 그렇다면 왜 옛날 Pk ID가 필요한가요? – Andrew

+0

아니요 PK 및 관련 FK가있는 기존 테이블 – PositiveGuy

답변

0

빠른 방법은 기본 키와 외래 키 관계를 삭제하는 것입니다. 관리 스튜디오에서이 작업을 수행 할 수 있습니다.

데이터로드가 완료되고 ID를 수정 한 후에는 키와 외래 키 관계를 다시 작성하십시오.

+0

그래도 문제는 클러스터 된 인덱스를 제거해야한다는 것입니다. FK를 제거했지만 기존 색인으로 인해 PK를 제거 할 수 없습니다 ... – PositiveGuy