외래 키와 관련된 문제가 있습니다.SQL 외래 키 문제 삭제
고객 테이블 :
CustomerID를
이름
주소
송장 나는이 두 테이블, 고객 및 송장이 있으며, 그들은 다음과 같이 SQL 서버 2008
을 사용하고 있습니다 표 :
인보이스 ID
날짜
CustomerID
Customer 테이블의 CustomerID 열은 기본 키이고 Invoice 테이블의 CustomerID 열에는 외래 키가 있습니다.
고객 테이블에서 행을 삭제하려고하는데 에이 없으면 송장 테이블에서 연결된 행이 삭제됩니다. 그렇게 할 수있는 방법이 있습니까?
편집 :
나는 삭제 된 고객은 로그 테이블에 저장되고, 그래서 ID가 여전히 존재한다고 언급하는 것을 잊었다하지만, 다른 테이블
의도적으로 데이터 무결성 문제를 만들려 하시겠습니까? 그 고객이 사라졌을 때 송장 표에서 고객 ID 53의 의미는 무엇입니까? – Randy
을 삭제하면 FK 값을 null로 케스케이드 할 수 있어야합니다. – Randy
고객을 비활성으로 표시하기 만하면됩니다. 여전히 기록이 필요합니다. – Ben