나중에 필요할 것이므로 테이블에서 레코드를 삭제하지 않는다고 들었습니다. 그리고 내가 테이블에서 행을 완전히 제거하는 것보다 행을 비울 수있는 DELETE보다 다른 대안이 있는지 알 수 있습니까?데이터베이스의 레코드를 삭제 하시겠습니까?
2
A
답변
9
당신은 당신의 테이블에 bit
열을 추가 할 수 있습니다 - 당신 INSERT
데이터는 데이터가 올바른 값으로 표시되어 있는지 확인하면 IsActive
또는
IsDeleted
같은 호출 : 그런 경우
New record - IsActive = true
- IsDeleted = false
당신은 레코드를 사용할 수 없게 만들려면 UPDATE
레코드를 반대 방향으로 플래그를 지정하십시오 :
Update - IsActive = false
- IsDeleted = true
쿼리를 실행하면이 플래그에 따라 데이터를 필터링합니다. 우리는이 유형의 소프트 삭제 우리의 시스템을 통해 구현하고 그것은 레코드를 숨기려고 작동합니다.
+0
대단히 감사합니다! 매우 유익한 – Sharpmind
1
우리는 bluefeet과 동일한 패턴을 사용하며 꽤 잘 작동합니다.
이것을 구현하는 데 도움이되는 몇 가지 지침이 있습니다.
bit
열이 null이 아닌지 확인하십시오. 논리적으로는 레코드가 삭제되었는지 여부를 모를 이유가 없으며 null
에 대한 테스트를 걱정하지 않아도 쉽게 코딩 할 수 있습니다.
또한 bit
열의 기본값을 0
으로 설정하면 삽입 문에서이 열을 참조 할 필요가 없습니다. 다시 논리적으로 삭제 된 레코드를 삽입하지 않으므로 레코드를 추가 할 때 값을 0
으로 설정하는 것을 기억할 필요가 없습니다.
관련 문제
- 1. RMS의 특정 레코드를 삭제 하시겠습니까?
- 2. 사용자가 선택한 레코드를 삭제 하시겠습니까?
- 3. sql 관련 레코드를 삭제 하시겠습니까?
- 4. Android : 데이터베이스의 특정 행을 삭제 하시겠습니까?
- 5. 배열의 데이터와 일치하는 테이블의 레코드를 삭제 하시겠습니까?
- 6. SQL Server에서 중복 레코드를 삭제 하시겠습니까?
- 7. 데이터베이스의 고유 레코드를 카운트하십시오
- 8. 데이터베이스의 특정 레코드를 계산하십시오.
- 9. 삭제 삭제 삭제 된 레코드를 추적하기위한 트리거
- 10. android에서 데이터베이스의 항목 삭제
- 11. Informix 데이터베이스의 행 삭제
- 12. sqlite 데이터베이스의 행 삭제
- 13. mysql 데이터베이스의 테이블에서 SQL-SERVER 2008 데이터베이스로 레코드를 복사 하시겠습니까?
- 14. 파일 수준에서 데이터베이스의 레코드 삭제 처리 방법
- 15. # linq 데이터베이스의 모든 레코드를 업데이트하십시오.
- 16. 데이터베이스에서 삭제 하시겠습니까?
- 17. ASP.net을 사용하여 데이터베이스의 업데이트 및 삭제 모니터링
- 18. 데이터베이스의 모든 테이블에서 모든 레코드 삭제
- 19. SQL Server 데이터베이스의 모든 테이블을 배치 파일에서 삭제 하시겠습니까?
- 20. mysql 및 django를 사용하여 datetime으로 데이터베이스의 항목을 삭제 하시겠습니까?
- 21. 데이터베이스의 레코드를 백업하고 복원하는 방법 (Oracle 10)
- 22. 아음속 T4 템플릿을 사용하여 테이블에서 여러 레코드를 삭제 하시겠습니까?
- 23. nservicebus 구독 레코드를 삽입 한 후 삭제 하시겠습니까?
- 24. 오래된 중복 레코드를 선택하고 삭제 하시겠습니까? 나는 등급의 DB를 가지고
- 25. 데이터베이스의 자동 삭제 작업 문제
- 26. SQLite 데이터베이스의 기본 색인 삭제
- 27. android에서 SQLite 데이터베이스의 항목 삭제
- 28. 안전한 방법으로 PHP를 사용하여 레코드를 삭제
- 29. 레코드를 삭제 한 사용자 찾기
- 30. 삭제 또는 가상 삭제 하시겠습니까?
달성하려는 목표는 무엇입니까? 항목을 "소프트 삭제"하는 일반적인 패턴은 테이블에 DateDeleted 열을 추가하는 것입니다 (삭제하지 않을 경우 NULL). 그런 다음이 열을 사용하여 삭제 된 항목을 필터링 할 수 있습니다. – ChaseMedallion
@Chase 귀하의 의견은 대답 이었다면, 나는 그것을 upvote 것입니다. –
[가능한 관계형 데이터베이스에서 행을 삭제하거나 비활성화해야합니까?] (http://stackoverflow.com/questions/347160/should-i-delete-or-disable-a-row-in-a-relational 데이터베이스) –