2009-11-20 6 views
0

한 테이블에서 다른 테이블로 모든 행을 대량 삽입하고자합니다. Select with Insert를 사용하는 방법에 대해 혼란스러워합니다. 새로운 테이블이 존재하지 않으면 자동으로 생성되는 방법이 있습니까?MySQL 테이블의 모든 행을 다른 테이블로 옮기기

하나는 동일한 데이터 구조로 기존 테이블에 쿼리의 결과 집합을 삽입합니다 INSERT INTO ... SELECT에 있습니다 :

답변

3

여기 추천 쿼리

INSERT INTO MyTable_Backup 
SELECT * FROM MyTable 

로 다른 하나는 쿼리의 데이터 구조를 기반으로 새 테이블을 만들 결과 집합을 삽입합니다 CREATE TABLE ... SELECT ...,이다.

CREATE TABLE MyTable_Backup 
SELECT * FROM MyTable; 

그러나 주목할 점은 소스 테이블의 인덱스와 일치하지 않는다는 것입니다. 인덱스가 필요한 경우 인덱스를 수동으로 추가해야합니다.

2

trigger 및/또는 select into는이 작업을 수행하는 방법은 두 가지가 있습니다

관련 문제