VCID는 클라이언트 ID입니다. VCID는 클라이언트 ID입니다. 클라이언트 (CID, 이름, 성) 및 방문수 (VID, VCID, dateOfVisit)와 관련된 두 개의 관련 테이블이 있습니다. 외래 키를 조작하는 방법, 클라이언트가 마지막 방문을 삭제할 때 데이터베이스를 삭제하여 일부 클라이언트에 대한 상대 레코드를 삭제하고 삭제하려면 클라이언트를 삭제하려면 어떻게해야합니까?외래 키로 어려운 작업
0
A
답변
1
나는 부드러운 삭제를 제안하므로 방문 기록을 유지할 수 있습니다.
소프트 삭제는 추가 필드 is_active
을 true로 설정한다는 것을 의미하며, 레코드를 삭제하면 false로 바꿉니다.
1
"on delete delete cascade"를 사용하면 삭제 된 클라이언트의 방문을 자동으로 삭제할 수 있습니다. 예 :
create table clients (id integer primary key);
create table visits (id integer primary key,
client integer,
foreign key (client) references clients(id)
on delete cascade);
다른 방법 (방문이없는 클라이언트 자동 삭제)은 더 어렵습니다.
수동으로 실행하여 어떤 방문과 클라이언트를 삭제할 수 있습니다
delete from clients where id in
(select cid from
(select clients.id as cid, visits.id as vid
from clients left join visits on (clients.id = visits.client))
where vid is null);
(어쩌면 간단 뭔가있다?). 그래서 매번 실행하고, 무언가가 방문에서 삭제 될 때 실행되는 트리거를 생성하십시오 (트리거를 추가하려고하면 삭제 정보를 사용하여 더 똑똑한 작업을 수행 할 수는 있지만).
또는 어쩌면 나보다 더 많은 시간/에너지를 가진 사람이 방아쇠로 답을 쓸 수 있습니다 ...?
(다른 사람들이 말했듯이 자동으로 클라이언트를 삭제하는 것은 상당히 과격한 행동입니다. 일반적으로 프로덕션 시스템에서 수행하고자하는 작업이 아닙니다. 고객이 더 많은 방문을 필요로하는 경우를 제외하고는 상당히 괴롭습니다. 다시 세부 사항을 입력해야하는 경우 ...)
관련 문제
- 1. 외래 키로 외래 키로 하나 또는 여러 개의 매핑 매핑
- 2. 외래 키로 검색 admin에
- 3. UserName을 외래 키로 설정하십시오.
- 4. Web2py : 외래 키로 ID
- 5. 어려운 T-SQL 프로그래밍 작업
- 6. 외래 키로 Django ModelForm 저장하기
- 7. 대리 키를 외래 키로 사용
- 8. MVC3 모델 외래 키로 바인딩하기
- 9. 복수 속성을 외래 키로 삽입하십시오.
- 10. 외래 키로 AutoIncrement 변수 사용 - 외래 키 얻기 contraint 오류
- 11. LightSwitch 2012 - 복합 키로 작업
- 12. MySQL : 외래 키로 연결된 테이블에 레코드 삽입
- 13. 두 개의 레코드 집합을 외래 키로 연결
- 14. 외래 키로 장고 양식에 대한 질문이 없음
- 15. 복합 키를 통한 외래 키로 대리 키
- 16. FluentNHibernate - 기본 키로 외래 키 매핑
- 17. GUID를 많은 테이블의 외래 키로 사용해야합니까?
- 18. 외래 키로 배열에서 PHP로 중첩 배열을 만듭니다.
- 19. WCF DataServices : 외래 키로 관련 개체 업데이트
- 20. 서식에서 외래 키로 RecId를 사용하는 방법
- 21. JPA 엔터티 외래 키를 기본 키로 매핑
- 22. 외래 키로 연결된 테이블에 데이터 삽입
- 23. EF 코드 우선 - 외래 키로 선택
- 24. Mongodb에서 문자열과 ID를 외래 키로 사용하기
- 25. 외래 키로 인해 더 많은 쿼리가 발생합니까?
- 26. 자식 테이블의 외래 키를 기본 키로 사용
- 27. 다른 테이블의 외래 키로 사용되는 기본 키
- 28. MySQL - 기본 키로 외래 키 사용
- 29. sqlite의 외래 키로 열 이름 사용
- 30. ASP.NET MVC - 기본 키로 외래 키?
* '... 삭제 클라이언트, 해당 클라이언트의 마지막 방문을 삭제하면'* - 그리고 처음 방문했을 때 실수로 최근에 클라이언트를 추가하고, 다시 삭제하기 위해 그것을 삭제하고, - whoops! - "고객은 어디 있니?" –