3

내가 삽입 한 데이터베이스 테이블과 관계없이 데이터베이스에 마지막으로 쓴 시간 (타임 스탬프)은 언제 확인할 수 있습니까?MySQL : 데이터베이스에 마지막으로 삽입 한 타임 스탬프를 얻는 방법

+0

INSERT와 UPDATE 및 DELETE를 구별해야합니까? 또한 특정 사용자 ID 또는 데이터베이스에 대한 최종 갱신으로 최종 갱신을 찾고 있습니까? 실제로는별로 차이가 없습니다. 당신이 찾는 정보는 당신이 '업데이트'또는 '특별히 삽입'을 원하는지 여부에 관계없이 이용 가능하지 않습니다. –

+0

조나단 고마워요. 나는 INSERT (데이터베이스에 대한 후자의 모든 종류)에만 관심이 있습니다. – user690182

+0

그러면 나의 기타 대답은 완벽 할 것입니다. 먼저 받아 들일 수없고 잠시 기다려주십시오. 감사! –

답변

-1

답변이 아닌 것으로 나타났습니다 (수락 된 것으로 삭제할 수 없음). 이 답변 아래의 댓글을 참조하십시오.

열이 업데이트되지 않고 create_time에 대해 information_schema.tables update_time을 사용할 수 없습니다. update_time (변경된 경우)의 경우 update_time이 업데이트되면 설정에 적용됩니다.

select table_schema,table_name,max_time from information_schema.tables t1 JOIN 
(select MAX(t2.create_time) AS max_time FROM 
    information_schema.tables t2 where 
    table_schema ='test') as t3 
on t1.create_time = t3.max_time; 
+0

안녕하세요, 마이클입니다. 처음 사용했을 때만 작동했습니다. 그렇다면 그것은 오래된 정보를 제공합니다. 왜 그럴 생각이야? – user690182

+0

데이터베이스 테이블을 마지막으로 작성한 시간입니다. –

+0

예. 이 답변을 삭제할 수 없습니다. 하나의 정답은 모든 테이블 이름을 얻은 다음 (필드의 이름이 같다고 가정) 각 테이블에서 최대 값을 얻은 다음 해당 최대 값의 최대 값을 얻습니다. 그래서 아주 간단한 SQL하지만 지금은 그것을 쓸 시간이 없어. –

0

수정 된 날짜 필드를 테이블에 추가하고 LAST_INSERT_ID()를 사용하여 마지막 행을 결정합니다 (바로 수행하는 경우). 그렇지 않으면 테이블의 수정 된 필드에서 가장 최근 날짜를 검색하면됩니다.

+0

-1 아니요, OP는 하나가 아닌 모든 테이블을 지정합니다. 죄송합니다! –

0

이것은 기본적으로 로깅에 대한 내용은 모두입니다. CLI를

  1. 데이터베이스에 이러한 모든 작업을 기록합니다 테이블을, SET GLOBAL log_output = 'TABLE';
  2. 지금 SET GLOBAL general_log = 'ON';

을 실행 general_log 데이터베이스 mysql 내부를 실행합니다. phpMyadmin 또는 이와 유사한 도구를 사용하십시오. 결과에서 매우 효과적으로 쿼리 할 수 ​​있습니다.

3

그냥이 SQL을 사용 SHOW TABLE STATUS;UPDATE_TIME 열을 확인합니다.

+0

InnoDB와는 제대로 작동하지 않습니다. [manual] (http://dev.mysql.com/doc/refman/5.7/en/show-table-status.html) –

관련 문제