MySQL을 사용하여 데이터베이스 변경 내역 추적
많은 데이터베이스 시스템에는 시간 경과에 따른 레코드 변경 사항을 추적하는 기능이 필요합니다. MySQL은 이를 달성하기 위한 간단한 기술을 제공합니다. 변경 사항을 모니터링하려는 "data"라는 이름의 데이터 테이블을 생각해 보세요.
시작하려면 세 개의 추가 열을 제외하고 동일한 구조를 사용하여 "data"에 대한 기록 테이블을 만듭니다.
이 열은 작업을 저장합니다. (삽입/업데이트/삭제), 시퀀스 번호, 작업 날짜 및 시간입니다.
다음으로 이러한 작업을 캡처하고 기록 테이블을 채우는 트리거를 만듭니다.
이제 모든 데이터 변경 사항은 "data_history" 테이블에 기록됩니다. 업데이트 전반에 걸쳐 특정 열에 대한 변경 사항을 표시하려면 기본 키 및 시퀀스 열에서 기록 테이블을 자체적으로 조인할 수 있습니다.
CREATE VIEW data_history_changes AS SELECT t2.dt_datetime, t2.action, t1.row_id, IF(t1.a_column = t2.a_column, t1.a_column, t1.a_column || " to " || t2.a_column) AS a_column FROM data_history AS t1 INNER JOIN data_history AS t2 ON t1.row_id = t2.row_id WHERE (t1.revision = 1 AND t2.revision = 1) OR t2.revision = t1.revision + 1 ORDER BY t1.row_id ASC, t2.revision ASC
이렇게 하면 "데이터" 테이블.
위 내용은 트리거와 보기를 사용하여 MySQL에서 데이터베이스 변경 사항을 어떻게 추적하고 볼 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!