2011-10-28 2 views
4

일부 데이터가있는 MySQL 데이터베이스가 있습니다.MySQL 데이터 이전

테이블과 필드 이름이 다른 거의 동일한 테이블을 사용하여 데이터베이스간에이 데이터를 마이그레이션해야합니다.

데이터가 두 데이터베이스에서 동일하며 테이블 이름 (및 일부 필드 이름/유형) 만 변경됩니다. 그러나 그것들은 정확히 같은 구조는 아닙니다. 테이블에서 일부 필드를 제거하고 필드를 다른 테이블로 이동했습니다.

모든 레코드를 반복하고 새 데이터베이스에 삽입하는 스크립트를 만들지 않고 어떻게이 작업을 수행 할 수 있습니까? 어떤 공구?

+4

어때요? INSERT .. SELECT FROM? 'oldtable (oldcola, oldcolb, oldcolc)에서 newtable (newcol1, newcol2, newcol3)을 선택하십시오 .' 열을 추가하거나 생략 할 수 있으며, 열 유형을 변경하기 위해 alter-table을 수행 할 수 있습니다 ... – Konerak

+0

감사합니다 Konerak,이 트릭을 수행했습니다 –

답변

4

mysql_dump을 사용하면 데이터베이스와 그 내용을 다시 만드는 데 필요한 모든 쿼리가있는 .sql 파일을 만들 수 있습니다. 그런 다음이 .sql 파일을 편집하여 테이블/필드 이름을 변경하여 새 DB의 설정을 반영 할 수 있습니다.

+0

그들은 정확히 같은 구조가 아닙니다. 나는 테이블에서 일부 필드를 제거하고 필드를 다른 테이블로 이동했습니다. –

+1

귀하의 질문에 언급 했어야합니다. 방금 테이블과 필드 이름을 바꾸고 재 배열 한 구조는 바꾸지 않는다고하셨습니다. –