[sql] SQL에서 조작된 데이터만 삭제하는 방법

일반적으로 SQL에서 DELETE 쿼리를 사용하여 특정 조건을 만족하는 행을 삭제할 수 있습니다. 예를 들어, 다음은 “users” 테이블에서 이름이 ‘John’인 사용자의 정보를 삭제하는 예제입니다.

DELETE FROM users
WHERE name = 'John';

하지만 조작된 데이터만을 삭제해야 하는 경우, 우리는 이전에 업데이트되거나 삭제된 행을 찾아서 삭제해야 합니다. 이를 수행하는 한 가지 방법은 시간을 기록하는 컬럼(예: “updated_at”)을 사용하여 마지막으로 업데이트된 시간을 확인하는 것입니다. 예를 들어, 다음은 1시간 이상 동안 업데이트되지 않은 데이터를 삭제하는 쿼리의 예제입니다.

DELETE FROM your_table
WHERE updated_at < NOW() - INTERVAL 1 HOUR;

데이터를 안전하게 삭제하기 위해서는 항상 백업을 만들고, 확실한 이유가 있는지 잘 고려해야 합니다. 또한, 실제 데이터를 삭제하기 전에 먼저 테스트 환경에서 작업해보는 것이 좋습니다.