천객만래 [千客萬來] (It has an interminable succession of visitors)

Error 1452 : Cannot add or update a child row: a foreign key constraint fails

에러메시지와 함께 외래키 참조 필드가 표시된다.
무슨 문제를 일으켰는지 잘 모르겠다. 
변수나 구조체 SQL 관련 정의와 구현상에는 문제가 없어보인다.

위와 같이 생각할 수 있습니다.
문제는 참조무결성 문제입니다.
참조무결성에는 다음의 3가지가 있습니다.


외래키 참조 무결성
도메인 참조 무결성

위의 내용대로 디버깅 하면 문제를 찾을 수 있습니다.



반응형
Posted by 사용자 SB패밀리

댓글을 달아 주세요


이 대화 상자를 사용하면 데이터베이스의 테이블 사이에 관계를 만들거나 수정할 수 있습니다. 외래 키 관계에서 외래 키 제약 조건은 기본 키나 UNIQUE 제약 조건과 함께 사용되며 지정된 테이블 사이에 참조 무결성을 적용합니다. 예를 들어, Order_Details 테이블에서 ProductID 열에 외래 키 제약 조건을 두어 이 열에 입력한 값이 Products 테이블의 ProductID 열의 기존 값과 일치하도록 할 수 있습니다.

 

 

옵션

선택한 관계

기존 관계를 나열합니다. 관계를 선택하면 오른쪽 표에 해당 속성이 표시됩니다. 목록이 비어 있는 경우 테이블에 정의된 관계가 없음을 의미합니다.

추가

새 관계를 만듭니다. 관계를 유효하게 만들려면 테이블 및 열 사양을 먼저 설정해야 합니다.

삭제

선택한 관계 목록에서 선택한 관계를 삭제합니다. 관계 추가를 취소하려면 이 단추를 사용하여 관계를 제거합니다.

일반 범주

확장하여 만들거나 다시 활성화할 때 기존 데이터 검사테이블 및 열 사양을 표시합니다.

만들거나 다시 활성화할 때 기존 데이터 검사

제약 조건을 만들거나 다시 활성화하기 전부터 테이블에 있던 모든 데이터를 제약 조건에 대해 검사합니다.

테이블 및 열 사양 범주

확장하여 어떠한 테이블의 어떠한 열이 관계에서 외래 키와 기본 키(또는 고유 키)로 사용되는지에 대한 정보를 표시합니다. 이러한 값을 편집하거나 정의하려면 속성 필드의 오른쪽에 있는 줄임표(...)를 클릭합니다.

외래 키 기본 테이블

선택한 관계에서 외래 키로 사용되는 열이 포함된 테이블을 표시합니다.

외래 키 열

선택한 관계에서 외래 키로 사용되는 열을 표시합니다.

Primary/Unique 키 기본 테이블

선택한 관계에서 기본 키(또는 고유 키)로 사용되는 열이 포함된 테이블을 표시합니다.

Primary/Unique 키 열

선택한 관계에서 기본 키(또는 고유 키)로 사용되는 열을 표시합니다.

ID 범주

확장하여 이름설명에 대한 속성 필드를 표시합니다.

이름

관계의 이름을 표시합니다. 새 관계를 만들면 테이블 디자이너의 활성 창에 있는 테이블을 기반으로 한 기본 이름이 새 관계에 지정됩니다. 언제든지 이름을 변경할 수 있습니다.

설명

관계에 대해 설명합니다. 더 자세한 설명을 기록하려면 설명을 클릭한 다음 속성 필드의 오른쪽에 있는 줄임표(...)를 클릭합니다. 이렇게 하면 텍스트를 쓸 수 있는 더 큰 영역이 제공됩니다.

테이블 디자이너 범주

확장하여 만들거나 다시 활성화할 때 기존 데이터 검사복제에 적용에 대한 정보를 표시합니다.

복제에 적용

복제 에이전트가 이 테이블에서 삽입, 업데이트 또는 삭제를 수행할 때 제약 조건을 적용할지 여부를 나타냅니다. 자세한 내용은 NOT FOR REPLICATION으로 제약 조건, ID, 및 트리거 제어를 참조하십시오.

외래 키 제약 조건 적용

관계를 맺고 있는 열의 데이터를 변경할 때 외래 키 관계의 무결성 제약 조건을 위반하게 되는 경우 이러한 데이터를 변경할 수 있는지 여부를 지정합니다. 이러한 변경을 허용하지 않으려면 를 선택하고, 이를 허용하려면 아니요를 선택합니다.

INSERT 및 UPDATE 사양 범주

확장하여 관계의 삭제 규칙업데이트 규칙에 대한 정보를 표시합니다.

삭제 규칙

외래 키 관계를 맺고 있는 데이터가 포함된 행을 사용자가 삭제하려 할 때 적용할 결과를 지정합니다.

  • 작업 안 함 삭제가 허용되지 않고 DELETE가 롤백된다는 오류 메시지가 나타납니다.

  • 계단식 배열 외래 키 관계에 관련된 데이터가 포함된 모든 행을 삭제합니다.

  • Null 설정 테이블의 모든 외래 키 열에 null 값을 사용할 수 있으면 값을 null로 설정합니다. SQL Server 2005 에만 적용됩니다.

  • 기본값 설정 테이블의 모든 외래 키 열에 기본값이 정의되어 있으면 열에 정의된 기본값으로 값을 설정합니다. SQL Server 2005 에만 적용됩니다.

업데이트 규칙

외래 키 관계를 맺고 있는 데이터가 포함된 행을 사용자가 업데이트하려 할 때 적용할 결과를 지정합니다.

  • 작업 안 함 삭제가 허용되지 않고 DELETE가 롤백된다는 오류 메시지가 나타납니다.

  • 계단식 배열 외래 키 관계에 관련된 데이터가 포함된 모든 행을 삭제합니다.

  • Null 설정 테이블의 모든 외래 키 열에 null 값을 사용할 수 있으면 값을 null로 설정합니다. SQL Server 2005 에만 적용됩니다.

  • 기본값 설정 테이블의 모든 외래 키 열에 기본값이 정의되어 있으면 열에 정의된 기본값으로 값을 설정합니다. SQL Server 2005 에만 적용됩니다.


출처 :MSDN

반응형
Posted by 사용자 SB패밀리

댓글을 달아 주세요