>데이터 베이스 >MySQL 튜토리얼 >내 SQL Server INSERT 문이 FOREIGN KEY 제약 조건과 충돌하는 이유는 무엇입니까?

내 SQL Server INSERT 문이 FOREIGN KEY 제약 조건과 충돌하는 이유는 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2025-01-20 03:57:11573검색

Why Does My SQL Server INSERT Statement Conflict with a FOREIGN KEY Constraint?

SQL Server의 FOREIGN KEY 제약 조건 오류 문제 해결

SQL Server에서는 "INSERT 문이 FOREIGN KEY 제약 조건과 충돌했습니다." 오류가 자주 발생합니다. 이는 외래 키 관계를 통해 다른 테이블에 연결된 테이블에 데이터를 삽입하려고 할 때 발생합니다.

문제:

이 오류는 INSERT 작업 중에 대상 테이블의 외래 키 값이 참조 테이블의 기존 기본 키와 일치하지 않는 경우 발생합니다.

오류 메시지 예:

<code>Msg 547, Level 16, State 0, Line 1
The INSERT statement conflicted with the FOREIGN KEY constraint "FK_Sup_Item_Sup_Item_Cat". The conflict occurred in database "dev_bo", table "dbo.Sup_Item_Cat". The statement has been terminated.</code>

이 메시지는 Sup_Item 외래 키 값('123123')이 sup_item_cat_id 테이블에 기본 키로 존재하지 않기 때문에 Sup_Item_Cat 테이블에 대한 삽입 시도가 실패했음을 나타냅니다.

해결책:

수정 방법은 간단합니다. 삽입하려는 외래 키 값이 참조 테이블의 기존 기본 키와 일치하는지 확인하세요. 이 예에서는 일치하는 sup_item_cat_idSup_Item_Cat에 이미 존재해야 합니다.

SQL Server Management Studio의 sp_help 명령을 사용하여 외래 키 제약 조건 및 관련 테이블을 검사합니다. 예를 들어 sp_help 'dbo.Sup_Item_Cat'은 해당 테이블의 외래 키 제약 조건에 대한 세부 정보를 제공하여 참조된 테이블과 열을 식별하고 INSERT 문이 유효한 데이터를 사용하는지 확인하는 데 도움을 줍니다.

위 내용은 내 SQL Server INSERT 문이 FOREIGN KEY 제약 조건과 충돌하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.