Programming

각 데이터 행에 대해 하나의 INSERT 문을 MySQLDump

procodes 2020. 6. 3. 22:36
반응형

각 데이터 행에 대해 하나의 INSERT 문을 MySQLDump


다음 진술로 :

mysqldump --complete-insert --lock-all-tables --no-create-db 
--no-create-info --extended-insert --password=XXX -u XXX 
--dump-date yyy > yyy_dataOnly.sql

다음과 같은 INSERT 문을 얻습니다.

INSERT INTO `table` VALUES (1,'something'),(2,'anything'),(3,'everything');

내 경우에 필요한 것은 다음과 같습니다.

INSERT INTO `table` VALUES (1,'something');
INSERT INTO `table` VALUES (2,'anything');
INSERT INTO `table` VALUES (3,'everything');

"mysqldump"에게 각 행에 대해 새로운 INSERT 문을 작성하도록 지시하는 방법이 있습니까? 당신의 도움을 주셔서 감사합니다!


사용하다:

mysqldump --extended-insert=FALSE 

여러 개의 인서트가 하나의 큰 인서트보다 느리다는 점에 유의하십시오.


최신 버전에서는 다음과 같이 플래그가 변경되었습니다.

-확장 삽입, -e

여러 VALUES 목록을 포함하는 다중 행 구문을 사용하여 INSERT 문을 작성하십시오. 결과적으로 덤프 파일이 작아지고 파일을 다시로드 할 때 삽입 속도가 빨라집니다.

--고르다

기본적으로 활성화 된이 옵션은 --add-drop-table --add-locks --create-options --disable-keys --extended-insert --lock-tables --quick- 세트 문자셋. 빠른 덤프 작업을 제공하고 MySQL 서버로 빠르게 다시로드 할 수있는 덤프 파일을 생성합니다.

--opt 옵션은 기본적으로 활성화되어 있으므로 --skip-opt 옵션 만 지정하면 여러 기본 설정을 해제 할 수 있습니다. --opt의 영향을받는 옵션의 하위 집합을 선택적으로 활성화 또는 비활성화하는 방법에 대한 내용은 mysqldump 옵션 그룹에 대한 설명을 참조하십시오.

--skip-extended-insert

확장 삽입 끄기

참고 URL : https://stackoverflow.com/questions/12439353/mysqldump-one-insert-statement-for-each-data-row

반응형