Mesclando dois arquivos * .db com as mesmas tabelas em um arquivo * .db


0

Eu gostaria de combinar dois arquivos de banco de dados mysql (* .db) em um único banco de dados. Ambos os bancos de dados possuem as mesmas tabelas. Existe uma maneira fácil de fazer isso?


1
Por que diabos isso é marcado como Excel e SQLite?
— Jonathon Reinhart

Respostas:


1

Supondo que dois bancos de dados sejam db1 e db2, podemos fazer o seguinte:

1) Faça backup do db1 & amp; db2 para opções de reversão:

mysqldump -u<root> -p<pass> --databases db1 db2 > db1_db2.sql

2) Faça backup do db1 (apenas dados):

mysqldump -u<root> -p<pass> --no-create-info db1 > db1.sql

3) Carregue o db1's dump para db2:

cat db1.sql | mysql db2 

Portanto, se os dois bancos de dados tiverem as mesmas tabelas, os dados serão inseridos nas tabelas. Se a tabela não existir, isso gerará um erro. Você pode ignorar esses erros e continuar assim:

cat db1.sql | mysql -u<user> -p<pass> db2 --force

Ei obrigado pela sua resposta. Mas eu tenho apenas example1.db & amp; exemplo2.db. Esses dois eu quero mesclar. As tabelas incluídas em ambos os bancos de dados são as mesmas. Também qual interface deve ser usada para combinar isso?
— user3625602

Eu não tenho certeza como você quer dizer com qual interface! Você pode seguir os passos acima no terminal. Coisa ruim aqui é que, se você tiver colunas de incremento automático, isso não funcionará e gerará erros.
— mysql_user

Oi, eu estou usando o banco de dados sqlite3 que tem extensão * .db. Eu acho que há outra maneira de tratar com esses arquivos. Por favor, deixe-me saber se você tem alguma informação sobre isso.
— user3625602

A resposta acima deve ser para o MySQL e não para o sqlite!
— mysql_user

Sim ... Mas você sabe como podemos fazer isso com o sqlite?
— user3625602
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.