반응형
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
반응형
'MySql' 카테고리의 다른 글
MySQL mysql : 오른쪽에서 첫 번째 항목을 반환하는 하위 문자열? (부분 문자열?!) (0) | 2020.12.16 |
---|---|
MySQL 특정 데이터베이스 또는 사용자에 대한 mysql 일반 쿼리 로그? (0) | 2020.12.15 |
MySQL MIN () 및 MAX ()는 MySQL의 CHAR / VARCHAR 문자열에서 어떻게 작동합니까? (0) | 2020.12.15 |
MySQL SQL select query using joins, group by and aggregate functions (0) | 2020.12.15 |
MySQL YYYY-DD-MM 형식의 PHP 문자열과 MySQL의 타임 스탬프가있는 경우 이들간에 변환하는 좋은 방법이 있습니까? (0) | 2020.12.15 |
댓글