Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Pessoal, estou refazendo um banco de dados e alterando nomes em tabelas e acrescentando tabelas. Acontece que quando vou dar um join no novo banco ele não funciona. Dá esta mensagem: "A seleção atual não contém uma coluna exclusiva". Se eu excluir a coluna id e colocar uma nova até funciona, mas aí perde toda a relação entre as tabelas, pois eu tenho que continuar com os relacionamentos entre o id anterior do usuário na tabela usuário e o id_usuario na tabela destaque (por exemplo). São várias tabelas relacionadas. Eu copiei do banco anterior a estrutura do banco e fiz um select e insert para passar os dados das tabelas do bd anterior para o bd atual. Há outra maneira de fazer isso sem perder a indexação?
Olá!
Acredito que haja algumas formas de se resolver.
Se for de média/alta complexidade, pode-se escrever um script que, dentro de uma transaction, desative temporariamente as foreign_key_checks, crie tables com novos nomes, crie novas colunas, faça as inserções necessáras e, depois de tudo pronto, ativar novamente as foreign_key_checks e commitar.
Se for só "transferir" os dados de um schema pra outro, pode-se tentar um desses apps de gerenciamento do database que o sr. estiver usando. Assim os processos de renomear e editar/remover/acrescentar colunas é feito depois da "cópia"