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?

user3625602
fonte
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
mysql_user
fonte
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