본문 바로가기
MySql

MySQL은 X 분보다 오래된 레코드를 삭제합니까?

by 베이스 공부 2021. 2. 7.
반응형

나는 꽤 많이 검색했고 결국 나를 위해 작동하지 않는 몇 가지 해결책을 찾았고 그 이유를 이해할 수 없습니다.

타임 스탬프 열이있는 테이블이 있습니다. 이 열의 MySQL 유형은 'datetime'입니다. 이 표에 PHP에서 다음을 삽입합니다.

date('Y-m-d H:i:s')

MySQL 날짜 시간에 대한 올바른 값이 입력됩니다.

2012-06-28 15:31:46

이 열을 사용하여 10 분보다 오래된 행을 삭제하려고합니다. 다음 쿼리를 실행하고 있지만 작동하지 않습니다. 0 행에 영향을줍니다.

DELETE FROM adminLoginLog WHERE timestamp < (NOW() - INTERVAL 10 MINUTE);

아무도 내가 뭘 잘못하고 왜 제대로 작동하지 않는지에 대해 밝힐 수 있습니까?

감사.

 

해결 방법

 

TIMESTAMP ()는 현재 타임 스탬프를 반환하는 내장 함수이므로 쿼리는 어떤 결과도 반환하지 않습니다.

열을 백틱으로 감싸서 MySQL이 예약어가 아닌 열을 의미한다는 것을 알려줍니다.

DELETE FROM adminLoginLog WHERE `timestamp` < (NOW() - INTERVAL 10 MINUTE);

 

참조 페이지 https://stackoverflow.com/questions/11252704

 

 

반응형

댓글