반응형
MYSQL을 데이터베이스로 사용하는 Rails 애플리케이션이 있습니다. 어떤 조건에서는 정확히 현재 시간 2 시간 전에 저장된 테이블에서 모든 레코드를 삭제해야합니다.
내 쿼리는 다음과 같습니다.
DELETE FROM TABLE_NAME WHERE (NOW() - created_at) > 7200;
여기서 create_at는 datetime 열 유형입니다. 값을 "2012-12-04 06:39:44"형식으로 저장
내 문제는 위의 쿼리가 레코드 생성 시간이 40 ~ 50 분이고 삭제 되었음에도 불구하고 레코드를 가져 오는 것입니다. 유일한 문제는 생성 시간으로부터 40-50 minx에 도달 한 후 레코드가 삭제된다는 것입니다.
누구든지 내 쿼리를 수정할 수 있습니까? MySQL 솔루션을 원합니다. 제발 도와주세요
해결 방법
정확히 2 시간 전에 생성 된 레코드를 삭제하려는 경우 필요할 수 있습니다.
DELETE FROM TABLE_NAME WHERE created_at = NOW() - INTERVAL 2 HOUR
또는 이렇게하면 2 시간 이상 전에 생성 된 모든 레코드가 삭제됩니다.
DELETE FROM TABLE_NAME WHERE created_at < NOW() - INTERVAL 2 HOUR
참조 페이지 https://stackoverflow.com/questions/13702164
반응형
'MySql' 카테고리의 다른 글
MySQL php mysqli mysqli 쿼리가 false를 반환하는지 확인 (0) | 2021.01.18 |
---|---|
MySQL MYSQL Workbench를 사용하여 MYSQL 5.5에서 스키마 이름을 변경할 수 없습니다. (0) | 2021.01.18 |
MySQL 저장 프로 시저 함수의 동적 테이블 이름 (0) | 2021.01.18 |
MySQL How to round a time to the nearest 15 minute segment (0) | 2021.01.18 |
MySQL에 해당하는 ISDATE () (0) | 2021.01.18 |
댓글