com a seguinte declaração:
mysqldump --complete-insert --lock-all-tables --no-create-db
--no-create-info --extended-insert --password=XXX -u XXX
--dump-date yyy > yyy_dataOnly.sql
Eu recebo instruções INSERT como as seguintes:
INSERT INTO `table` VALUES (1,'something'),(2,'anything'),(3,'everything');
O que eu preciso no meu caso é algo como isto:
INSERT INTO `table` VALUES (1,'something');
INSERT INTO `table` VALUES (2,'anything');
INSERT INTO `table` VALUES (3,'everything');
Existe uma maneira de dizer ao "mysqldump" para criar uma nova instrução INSERT para cada linha? Obrigado pela ajuda!
mysqldump --opt --skip-extended-insert
oumysqldump --opt --extended-insert=FALSE
trabalhogit diff
em dois despejos de banco de dados diferentes e ter uma imagem clara do que foi alterado.Nas versões mais recentes, foram feitas alterações nos sinalizadores: da documentação:
Escreva instruções INSERT usando a sintaxe de várias linhas que inclui várias listas VALUES. Isso resulta em um arquivo de despejo menor e acelera as inserções quando o arquivo é recarregado.
Esta opção, ativada por padrão, é um atalho para a combinação de --add-drop-table --add-locks --create-options --disable-keys --extended-insert --lock-tables --quick - set-charset. Ele fornece uma operação de despejo rápido e produz um arquivo de despejo que pode ser recarregado rapidamente em um servidor MySQL.
Como a opção --opt está ativada por padrão, você especifica apenas o inverso, o --skip-opt para desativar várias configurações padrão. Veja a discussão dos grupos de opções do mysqldump para obter informações sobre como ativar ou desativar seletivamente um subconjunto das opções afetadas pelo --opt.
Desativar inserção estendida
fonte