안녕하세요 친애하는 스택 오버플로 지역 사회에서 삭제됩니다.
아마도 도움을 줄 수 있습니다.SQL : 어린이 (그러나 이론적 부모) 때 부모를 삭제는 <p></p>는 이미 많은 시간을 검색하지만 난 솔루션 내 매우 독특한 시나리오를 찾을 수 없습니다하는 OneToOne 관계
two tables이 있다고 가정 해 봅시다.
|domain_realm | | password_policy |
|-------------------------------- | | ---------------------------------------|
|id domain password_policy_id | | id min_chars min_numbers min_length |
|1 1 11 | | 11 3 2 |
|2 1 12 | | 12 4 1 |
하나가 다른 하나 password_policy
domain_realm
,라고합니다.
이것은 OneToOne 관계이므로 하나의 domain_realm
은 하나만 password_policy
입니다.
지금이 시나리오에서 매우 독특한 케이스를 제공 :
domain_realm
그것의 부모의 외래 키를 들고 password_policy_id
(더 많거나 적은 FK) 대신 password_policy
을 보유하고 있습니다.
Why would someone do this?
Let's assumepassword_policy
is part of a package for many other applications not working with domain realms. Therefore keeping the table clean of any specific rows no other application needs (e.g.fk_domain_relam
) is mandatory.
는 지금은
domain_realm
을 삭제할 때 자동으로 (
ON DELETE CASCADE
)이 상관 관계를
password_policy
을 삭제하는 것은 불가능 것으로 보인다.
SQL을 수행하는 방법이 있습니까? 아니면 을 알고 있습니까?을 알고 password_policy
이 제 코드에서 삭제 되나요?
domain_realm
을 데이터베이스에서 직접 삭제해야하는 경우 (디버그 또는 지원 이유) 고아를 작성 했으므로이 사실을 알고 있어야합니다. 그렇지 않으면 고아가 그 db에 영원히 남을 것입니다.
대단히 감사 드리며 이것을 읽었습니다.
당신이 당신의 구조에 대한 질문을 .. –
몰라 당신이 무슨 뜻인지 및/또는 필요 . 내 구조에 대한 그래픽과 아주 정확한 설명이 있습니다. :-( – sdk
먼저 그림이 아닌 형식의 텍스트를 제공하십시오. 그리고 두 번째로 링크가 끊어집니다.) –