2013-04-23 4 views
3

SQL을 사용하는 Microsoft JET DB 엔진을 통해 Microsoft Access 데이터베이스의 일부 스키마를 새 스키마로 마이그레이션해야합니다. 효과적으로 여러 다른 테이블에서 외래 키 역할을하는 마스터 테이블에 ID 열이 있습니다. 이 ID 열을 자동 번호 열로 변경해야합니다. 불행히도 Microsoft JET를 통해이 작업을 수행 할 수있는 방법이 없습니다.테이블 열의 값을 다른 테이블의 값으로 바꿉니다.

내가 생각해 낸 해결책은 자동 번호 열인 새 열을 만드는 것입니다. 그런 다음 다른 테이블로 이동하여 원래 외래 키 ID를 새 자동 ID ID로 바꿔야합니다.

차 테이블

New ID Old ID Other column 
1  7  bla 
2  21  bla 
3  18  bla 

링크 된 테이블

PT_ID Data 
7  bla 
7  bla 
18  bla 
21  bla 

새로운 ID와 연결된 테이블의 값을 대체 할 수있는 올바른 SQL 문은 무엇입니까? (즉, 7은 1, 21은 2, 18은 3이됩니다.) 이것이 Microsoft JET 구문에 있으면 좋을 것입니다.

답변

3

나는 그것을 알아낼 수 있었다./

+0

멋진 대답 - : 이것은 내가 당신이 그렇게하기 전에 뻗어 볼 때

UPDATE [LinkedTable], [PrimaryTable] SET [LinkedTable].[PT_ID] = [PrimaryTable].[NewID] WHERE [LinkedTable].PT_ID] = [PrimaryTable].[OldID] 

정말 기본 보이는

해낸 것입니다. 비슷한 일을하는 많은 다른 정보가 있지만 'SET'이전의 초기 'UPDATE'비트에는 'PrimaryTable'이 포함되어 있지 않습니다. 이로 인해 모든 차이가있었습니다. 감사 – Luke

관련 문제