2014-06-18 4 views
1

Task - Import Data을 사용하여 동일한 테이블 구조를 사용하여 한 데이터베이스에서 다른 데이터베이스로 데이터를 가져옵니다. 나는 항상 오류 INSERT statement conflicted with the FOREIGN KEY constraint을 얻는다. 데이터를 가져올 때이 오류가 표시되지 않습니다. import like this . 이 테이블에서 모든 외래 키를 삭제하고 가져온 후에 테이블에 외래 키에 대한 스크립트를 실행하는 것이 가능합니까? 그렇다면 어떻게 할 수 있습니까? 회신 및 의견을 보내 주셔서 감사합니다INSERT 문이 FOREIGN KEY 제약 조건과 충돌했습니다. 데이터 가져 오기

+0

외래 키가 이유가 있습니다. 가져 오기하는 데이터는 가져 오기 전에 FK가 참조하는 테이블에서 먼저 참조 된 데이터가 있어야합니다. 'sp_help'를 사용하여 Sql Server Management Studio의 개체 탐색기에서 볼 수없는 경우 어떤 열에 FK가 있는지 확인할 수 있습니다 – Pricey

답변

1

FK 제약이없는 준비 테이블에 원시 데이터를 가져 오는 것이 좋습니다. 그런 다음 거기에서 준비 영역을 신속하게 쿼리하고 FK 제약 조건을 위반하는 값을 결정할 수 있습니다.

Ex. tblImport 테이블을 만들고 FK는 city 필드에 있습니다. city 테이블에는 뉴욕과 로스 앤젤레스 만 있지만, select distinct city from tblImport에는 라스베가스가 있습니다. 라스베가스가 당신의 제약을 위반하고 있습니다. 그런 다음 city 테이블에 라스베가스를 추가하고 FK 제약 조건을 위반하지 않고 가져올 수 있습니다.

최종 목적지로 가져 왔으면 tblImport을 입력하십시오.

FK를 삭제하고 가져 와서 FK를 다시 추가 할 수 없다는 점을 추가해야합니다. FK를 다시 추가하는 작업은 제약 조건을 검사하여 실패합니다.

위에서 언급 한대로 가져 오기를 허용하는 관계 항목을 추가하거나 2) FK의 제약 조건을 충족시키는 가져 오기 스크립트를 작성하고 관계가 존재하는 레코드 만 가져 오기해야합니다 (예 : 뉴욕과 로스 앤젤레스 만 가져 오기).

관련 문제