2010-07-23 3 views
0

저는 직원에 관한 프로젝트를 진행 중입니다. 요구 사항 중 하나는 5 년 된 직원이 텍스트 파일에 어딘가에 보관되어 데이터베이스에서 제거되어야한다는 것입니다. DB 관리와 관련하여 많은 경험이 없습니다. 이 문제를 해결하는 가장 좋은 방법은 무엇입니까? 일종의 트리거를 작성 하시겠습니까?데이터베이스 아카이브

감사합니다, Nishant

답변

1

사용 mysqldump, 적어도 5 세 직원 기록을 찾기 위해 --where 매개 변수를 사용하여. mysqldump에서 복원 할 수있다.

파일을 저장하면이 테이블에서 행을 삭제할 수 있습니다.

이 문제는 주기적으로 수행해야하며 파일 결과는 현재 테이블에있는 이전 레코드에만 적용됩니다. 그러나 경향이있는 경우, 제거 된 모든 직원 레코드를 포함하는 스크립트에 주기적 출력을 결합 할 수 있습니다.

+0

흠, 덤프와 삭제 사이에서 어떻게 경쟁을 피할 수 있습니까? 아니면 삭제 절의 덤프를 검사하겠습니까? – Wrikken

+0

@Wrikken : 예 =) 제쳐두고 농담, 예 - 삭제하기 전에 품질 보증 내용을 먼저 덤프하십시오. –

+0

감사합니다.이 프로세스를 자동화 할 수 있습니까? – Nish

0

데이터가 변경되지 않으면 트리거를 사용하여 데이터를 처리 할 수 ​​없습니다. (글쎄, 당신은 테이블에 격렬하게 부적절한 것들을하는 방아쇠를 만들 수 있지만, 나는 그것에 대해 매우 강력하게 조언 할 것이다).

저장 한 정확한 직원에 대한 삭제 쿼리를 실행하고 직원을 선택하고 파일에 저장하고 아니요, 직원이 완료 한 후 5 년 전의 직원을 원하는대로 수행하는 스크립트를 만듭니다. 일부 레코드는 해당 레코드를 파일로 저장하는 사이에 표시를 지나치게 넘어 섰습니다.

매일 N, N을 합리적인 금액으로 '정확히 1 년 후'표시 (매일, 매주 또는 매월 가장 가능성이 높은 상황에 따라)를 초과 할 수 있습니다. 서버에서 cron으로 일정을 정하고 잠시 동안 확인하여 아직 작동하는지 확인하십시오.