테이블에서 다른 레코드로 오래된 레코드를 이동하고 싶습니다.MySQL - 테이블의 하위 집합을 다른 테이블로 이동
내가 이렇게 할 경우 :
INSERT INTO archived_item SELECT * FROM item WHERE is_sold=1 AND sold_at < DATE_SUB(CURRENT_DATE, INTERVAL 6 MONTH)
I 행을 복사 단지 것이다. 하지만 로 이동해야합니다. 나는 이전 후이 쿼리를 실행 생각하지 않는다
이상적입니다 : 나도 외부 도구를 사용하여 좋아하지 않을
DELETE FROM item WHERE is_sold=1 AND sold_at < DATE_SUB(CURRENT_DATE, INTERVAL 6 MONTH)
.
SQL을 통해이를 달성 할 수 있습니까?
좋은 방법이라고 생각하십니까? 불일치로 이어질 수 없습니까? – dan
글쎄, 트랜잭션을 사용하여 대상 테이블에 삽입 된 레코드가 소스 테이블에서 삭제되어야하는지 확인할 수 있습니다. 무슨 불일치가 있니? –
아, 네 말이 맞아! – dan