0

안녕 나는 몇 가지 질문은 내가 가지고 데이터베이스 관계 트랜잭션 및 참조 표

을 삭제 한 경우 내가 외국 데이터로 뭘할지에 대한이 삭제 트랜잭션 테이블에 의해 참조되는 사용자 삭제 트랜잭션 레코드

도 삭제됩니다. 너희들 좀 도와 줄래? 감사

내 테이블입니다 : 트랜잭션, 분기 및 사용자

1 지점 1 사용자가 많은 거래

거래 1 개 ------- * 지점 트랜잭션을 가질 수 많은 트랜잭션을 가질 수 1 ------ * 사용자

그래서 만약 내가 사용자 또는 지점을 참조하는 트랜잭션 레코드를 삭제하는 것입니다 삭제됩니다 .. 만약 내가 그만 트랜잭션 테이블에있는 고아 id를 삭제할 계단식 참조 할 사용자 또는 분기가 없습니다. 그래서 나는 이것으로 무엇을 할 것인가? 제발 도와주세요 ..

+0

전체 테이블 구조를 작성하십시오. – Freelancer

답변

1

작업을 ON DELETE CASCADE로 설정 한 외래 키 관계가 있다고 가정합니다. 앞으로 삭제를 원하지 않으면 외래 키 조치를 ON DELETE NO ACTION으로 변경해야합니다.

이미 삭제 된 레코드를 다시 가져 오는 방법을 묻는 경우 백업에서 복원해야합니다.

+0

만약 내가 삭제 된 사용자 또는 지점 테이블에서 레코드를 그냥 플래그. 난 그냥 비트 데이터 형식으로 다른 열을 추가합니다 .. 괜찮을까요? – Patrick87

+0

예, 가능합니다. 그런 다음 물리적으로 레코드를 삭제하는 대신 논리적으로 삭제 된 것으로 "플래그"열을 업데이트합니다. 이렇게하면 내장 된 외래 키 제약 조건을 사용하여 참조 무결성을 유지할 수 없을 것입니다. 트리거를 사용해야합니다. –