12,000 개의 항목이있는 mysql 데이터베이스가 있습니다. 설치 프로그램에서 데이터베이스의 열을 모니터링 할 수있는 기능이 있습니다. 열이 항목에 대해 변경된 경우 세부 정보가 포함 된 전자 메일을 보냅니다. .PHP를 사용하여 MySQL 데이터베이스 모니터링
EDIT : 나는 그것과 함께 작동하는 스크립트가 아니라 mysql db에 접근 할 수있다. 이
12,000 개의 항목이있는 mysql 데이터베이스가 있습니다. 설치 프로그램에서 데이터베이스의 열을 모니터링 할 수있는 기능이 있습니다. 열이 항목에 대해 변경된 경우 세부 정보가 포함 된 전자 메일을 보냅니다. .PHP를 사용하여 MySQL 데이터베이스 모니터링
EDIT : 나는 그것과 함께 작동하는 스크립트가 아니라 mysql db에 접근 할 수있다. 이
이 this에 비슷한 시도 ... 변화를 모니터링해야 datetimestamp가된다.
이 값은 행이 변경 될 때마다 업데이트됩니다. 여기서 cron 작업을 통해 또는 몇 가지 PHP 쿼리가 끝나면 마지막 쿼리 이후에 변경된 행 목록을 반환하는 SQL 쿼리를 실행할 수 있습니다.
Select * from tbl_myentries where EntryUpdated > '$TimeSinceLastCheck'
가 하나 개의 컬럼을 설정에 따라서는 쿼리가 insert
및 TABLE_NAME 또는 COLUMN_NAME이있는 경우 당신은 이메일을 보낼 수있는 기능을 편집 할 수
사용중인 MySQL 버전에 트리거가 있으면 테이블에 트리거를 만들 수 있습니다. 그런 다음 트리거는 작성하려는 모든 기능을 호출 할 수 있습니다. 트리거는 열의 삽입이나 삭제 또는 업데이트로 인해 트리거가 발생한다는 이점이 있습니다. 다른 코드를 변경하지 않아도됩니다. 트리거가 업데이트 된 행의 정보를 삽입 할 경우 이전 값, 새로운 값이 될 수 있습니다 ((cron_table를 호출 할 수 있습니다)
--- 당신이 트리거에서 이메일을 보낼 수 있다면, 당신은 내 SQL에 을 트리거 (DML)을 데이터 조작 언어를 이해할 필요가없는 별도의 테이블과 크론의 필요성 ---
없을 것 : 사용
CREATE TRIGGER salary_trigger
BEFORE UPDATE ON table_name
REFERENCING NEW ROW AS n, OLD ROW AS o
FOR EACH ROW
IF n.columnName <> o.columnname THEN
END IF;
;
이메일은 어떻게 전송됩니까? –
열의 변경 사항에 대한 트리거를 만든 다음 로그 테이블로 다른 테이블에 삽입하십시오.
전자 메일을 보낼 테이블에서 cron 작업을 실행하십시오.
+1 트리거를 언급합니다. 트리거는 이러한 이벤트를 모니터하기 위해 규정 된 방법입니다. –
방아쇠에서 이메일을 보내는 방법을 알고 있습니까? –
@Sarwar, 아니요, 아닙니다. 나는 코드의 어떤 부분으로부터 이메일을 보내는 법을 실제로 모른다. 그러나 트리거는 저장 프로 시저를 호출 할 수 있으므로 저장 프로 시저에서 수행 할 수있는 모든 작업을 트리거에서 수행 할 수 있습니다. 죄송합니다 더 도움이 될 수 없습니다. –