본문 바로가기
MySql

MySQL 가져 오기-줄이 있으면 테이블 삭제를 무시하는 방법은 무엇입니까?

by 베이스 공부 2020. 12. 15.
반응형

mysqldump를 사용하여 2 개의 동일한 데이터베이스 (테이블의 이름과 구조가 동일 함)를 2 개의 .sql 파일로 내보냈습니다. 하나의 파일로 병합하고 싶습니다. 그러나 두 데이터베이스 모두 모든 테이블 앞에 '드롭 테이블'줄이 있습니다. 즉, db1을 가져온 다음 db2를 가져 오면 db2 테이블을 가져 오기 전에 db1 테이블이 삭제됩니다.

파일이 커서 편집기에서 열 수 없습니다. 또한 각 데이터베이스에는 50 개의 테이블이 있습니다.

mysql 가져 오기 중에 Drop table 명령을 어떻게 무시할 수 있습니까?

 

해결 방법

 

덤프를 다시 만들고 싶지 않고 Linux를 사용하는 경우 다음을 사용할 수 있습니다.

awk '!/^DROP TABLE IF EXISTS/{print}' <dump.file> | mysql <db_name>

데이터를 다시 덤프하려면 mysqldump 유틸리티에 -skip-add-drop-table 을 전달해야합니다.

 

참조 페이지 https://stackoverflow.com/questions/20573778

 

 

반응형

댓글